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

Как удалить php-fpm для mod-php

У нас есть сайт, который работает очень медленно. У меня есть подозрение, что это конфиги 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, поэтому теперь мне нужно выяснить, что на самом деле вызывает медлительность.