如何删除 mod-php 的 php-fpm

如何删除 mod-php 的 php-fpm

我们有一个网站运行速度非常慢。我怀疑是 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

要返回,很简单:

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要使用哪个监听器。配置文件显示必须使用prefork,/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,所以现在我必须弄清楚到底是什么导致了速度缓慢。

答案2

在 Debian 10 上似乎更容易:只需启用和禁用现有模块。切换回“prefork”后,我的 apache php 网页服务速度提高了约 10 倍。我不确定它是什么(尽管我目前的猜测是它可能与单个 CPU 配置有关);尝试了许多“优化”(+ 不同的 mpm 模块)。尝试了 2 次,现有的“fpm”配置确实减慢了我的系统速度。

PHP 7.3.31-1~deb10u1,php-fpm7.3,Apache/2.4.38

相关内容