Как нам перестать использовать php-fpm на Apache? Я попытался решить проблему с запуском сервера, потому что он работает на CENTOS 6, а puppet работает только на CENTOS 6. Я пытался выяснить, почему сервер не работает после того, как скопировал настройки, а затем сделал:
судо netstat -plnt
который показал мне, что я использовал php-fpm, а на сервере, где он работал, я его не запускал. Я был озадачен, потому что конфигурации httpd были такими же, когда я последний раз проверял, поэтому мне интересно, как переключиться с php-fpm на php, чтобы увидеть, смогу ли я запустить Apache на новом сервере. Я отключил:
sudo служба php-fpm остановить
Но я все еще получаю 500 от лака. Я не уверен, что мог что-то пропустить в конфигурации httpd, но у нового и старого сервера были почти одинаковые конфигурации.
У меня есть php.conf:
#
# PHP — это встроенный в HTML язык сценариев, который пытается сделать его
# разработчикам легко писать динамически генерируемые веб-страницы.
#
<IfModule prefork.c>
LoadModule php7_module modules/libphp7.so
</ЕслиМодуль>
<IfModule !prefork.c>
LoadModule php7_module modules/libphp7-zts.so
</ЕслиМодуль>
#
# Заставить интерпретатор PHP обрабатывать файлы с расширением .php.
#
AddHandler php7-скрипт .php
AddType текст/html .php
#
# Добавьте index.php в список файлов, которые будут использоваться в качестве каталога
# индексы.
#
DirectoryIndex index.php
#
# Раскомментируйте следующую строку, чтобы разрешить PHP красиво печатать .phps
# файлы как исходный код PHP:
#
Приложение #AddType/x-httpd-php-source .phps
#
# Специальные параметры конфигурации PHP для Apache
# их можно переопределить в каждом сконфигурированном виртуальном хосте
#
php_value session.save_handler "файлы"
php_value session.save_path "/var/lib/php/session"
php_value soap.wsdl_cache_dir "/var/lib/php/wsdlcache"
и конфиг fast_cgi:
# ПРЕДУПРЕЖДЕНИЕ: это кладж:
## Пользователь/группа для httpd должны быть установлены, прежде чем мы сможем загрузить mod_fastcgi,
## но /etc/httpd/conf.d/fastcgi.conf на RHEL загружается раньше
## /etc/httpd/conf/httpd.conf, поэтому нам нужно установить их здесь :(
## mod_fcgid не имеет этой ошибки,
## но он не обрабатывает дочерние процессы PHP должным образом
## http://serverfault.com/questions/303535/a-single-php-fastcgi-process-blocks-all-other-php-requests/305093#305093
Апач пользователя
Групповой апач
LoadModule модули fastcgi_module/mod_fastcgi.so
# dir для файлов сокетов IPC
FastCgiIpcDir /var/run/mod_fastcgi
# обернуть все вызовы скриптов fastcgi в suexec
FastCgiWrapper выкл.
# глобальный FastCgiConfig может быть переопределен параметрами FastCgiServer в конфигурации vhost
FastCgiConfig -idle-timeout 120 -maxClassProcesses 1
# пример конфигурации PHP
# см. /usr/share/doc/mod_fastcgi-2.4.6 для скрипта php-wrapper
# не забудьте отключить mod_php в /etc/httpd/conf.d/php.conf!
#
# чтобы включить разделение привилегий, добавьте директиву "SuexecUserGroup"
# и соответственно указать скрипт php-wrapper и родительский каталог
# см. также http://www.brandonturner.net/blog/2009/07/fastcgi_with_php_opcode_cache/
#
#FastCgiServer /var/www/cgi-bin/php-wrapper
#AddHandler php-fastcgi .php
#Действие php-fastcgi /cgi-bin/php-wrapper
Приложение #AddType/x-httpd-php .php
#DirectoryIndex index.php
#
#<Расположение /cgi-bin/php-wrapper>
# Заказать Запретить, Разрешить
# Запретить все
# Разрешить из env=REDIRECT_STATUS
# Опции ExecCGI
# SetHandler fastcgi-скрипт
#</Расположение>
и конфиг fcgi:
<IfModule mod_fastcgi.c>
Alias /php5-fcgi-staging03 /usr/lib/cgi-bin/php5-fcgi-staging03
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi-staging03 -socket /var/run/php-fpm/php5-fcgi-staging03.sock -pass-header Authorization -idle-timeout 300
</IfModule>
Комментирование php5-fcgi-staging03 дает мне:
не обнаружена
Запрошенный URL-адрес /php5-fcgi-staging03/index.php не найден на этом сервере.