Назад | Перейти на главную страницу

Как установить httpd.conf при использовании php-fpm с php (5.3.8) и apache2?

Я хочу использовать fastcgi в apache2 с php (5.3.8).

Я установил fastcgi_module в apache и скомпилировал php с - enable-fpm. Я также нашел несколько туториалов , в их настройках было два метода:

FastCgiServer / usr / local / apache2 / fcgi-bin / php-cgi -процессы 10

или

FastCgiExternalServer / usr / local / apache2 / fcgi-bin / php-cgi -host 127.0.0.1:9000

Но я не могу найти php-cgi в php 5.3.8. что мне делать дальше? Как установить httpd.conf при использовании php-fpm с php (5.3.8) и apache2?

Секрет в том, что php-cgi не является настоящим файлом, это неправильное имя файла, используемое внутри Apache. Вы также можете назвать это: false-php-cgi-catcher-which-do-not-exists.

Я написал полное руководство по установке php-fpm + apache2.2 + chroot несколько дней назад здесь. Вы можете посмотреть. Но сначала попробуйте заставить его работать без chroot. Обратите внимание, что начиная с apache 2.3 лучшим инструментом для php-fpm будет mod_proxy_fcgi

Вот отрывок из полного руководства по установке. я использую php5.external где вы хотите использовать php-cgi.

# phpfpm/fastcgi
# Here we catch the 'false' Location used to inexistent php5.external
# and push it to the external FastCgi process via a socket
# note: socket path is relative to FastCgiIpcDir
# which is set in Main configuration /etc/apache2/mods-available/fastcgi.conf
<IfModule mod_fastcgi.c>
    # all .php files will be pushed to a php5-fcgi handler
    AddHandler php5-fcgi .php

    #action module will let us run a cgi script based on handler php5-fcgi
    Action php5-fcgi /fcgi-bin/php5.external

    # and we add an Alias to the fcgi location
    Alias /fcgi-bin/php5.external /php5.external

    # now we catch this cgi script which in fact does not exists on filesystem
    # we catch it on the url (Location)
    <Location /fcgi-bin/php5.external>
        # here we prevent direct access to this Location url,
        # env=REDIRECT_STATUS will let us use this fcgi-bin url
        # only after an internal redirect (by Action upper)
        Order Deny,Allow
        Deny from All
        Allow from env=REDIRECT_STATUS
    </Location>
</IfModule>
FastCgiExternalServer /php5.external -socket myapplication.sock -appConnTimeout 30 -idle-timeout 60