У нас есть сайт, который работает очень медленно. У меня есть подозрение, что это конфиги php-fpm, но вместо того, чтобы играть с ним, если это не проблема, я хочу сначала провести тесты производительности.
Итак, я клонировал одну из наших производственных виртуальных машин балансировщика нагрузки и хочу удалить php-fpm, но не знаю, как это сделать.
CentOS 7.6, httpd 2.4.38, php7.2
Остановка php-fpm явно ничего не делает, кроме его поломки. Перемещение файла /etc/httpd/conf.d/php-fpm.conf просто останавливает всю интерпретацию файлов PHP, так как мне вернуть его обратно в mod_php?
РЕДАКТИРОВАТЬ: 1) Установлено mod_php72u.x86_64
2) Добавил php.conf
файл в /etc/httpd/conf.d/
со следующим содержанием:
#
# The following lines prevent .user.ini files from being viewed by Web clients.
#
<Files ".user.ini">
Require all denied
</Files>
#
# Allow php to handle Multiviews
#
AddType text/html .php
#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php
# mod_php options
#
<IfModule mod_php7.c>
#
# Cause the PHP interpreter to handle files with a .php extension.
#
<FilesMatch \.(php|phar)$>
SetHandler application/x-httpd-php
</FilesMatch>
#
# Uncomment the following lines to allow PHP to pretty-print .phps
# files as PHP source code:
#
#<FilesMatch \.phps$>
# SetHandler application/x-httpd-php-source
#</FilesMatch>
#
# Apache specific PHP configuration options
# those can be override in each configured vhost
#
php_value session.save_handler "files"
php_value session.save_path "/var/lib/php/mod_php/session"
php_value soap.wsdl_cache_dir "/var/lib/php/mod_php/wsdlcache"
#php_value opcache.file_cache "/var/lib/php/mod_php/opcache"
</IfModule>
Вернуться довольно просто:
1) Удалите php-fpm или остановите его:
sudo yum remove php72u-fpm.x86_64 php72u-fpm-httpd.noarch
ИЛИ
sudo systemctl stop php-fpm
2) Установите mod_php еще раз
sudo yum install mod_php72u.x86_64
3) Настройте, какой слушатель будет использовать httpd. Файл конфигурации показывает, что необходимо использовать предварительную вилку. /etc/httpd/conf.modules.d/15-php.conf
содержит это:
# Cannot load both php5 and php7 modules
<IfModule !mod_php5.c>
<IfModule prefork.c>
LoadModule php7_module modules/libphp7.so
</IfModule>
</IfModule>
В /etc/httpd/conf.modules.d/00-mpm.conf
закомментировать
#LoadModule mpm_event_module modules/mod_mpm_event.so
и открыть LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
4) Перезагрузите Apache / httpd
sudo systemctl restart httpd
Предупреждение о спойлере: из краткого тестирования это был не php-fpm, поэтому теперь мне нужно выяснить, что на самом деле вызывает медлительность.