如何删除 mod-php 的 php-fpm

Aar*_*ain 4 php-fpm apache-2.4

我们的网站运行速度非常慢。我怀疑这是 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>
Run Code Online (Sandbox Code Playgroud)

Aar*_*ain 6

要返回,非常简单:

1)卸载php-fpm或停止它:

sudo yum remove php72u-fpm.x86_64 php72u-fpm-httpd.noarch
Run Code Online (Sandbox Code Playgroud)

或者

sudo systemctl stop php-fpm
Run Code Online (Sandbox Code Playgroud)

2)再次安装mod_php

sudo yum install mod_php72u.x86_64
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

/etc/httpd/conf.modules.d/00-mpm.conf注释掉

#LoadModule mpm_event_module modules/mod_mpm_event.so
Run Code Online (Sandbox Code Playgroud)

并打开LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

4)重新启动Apache/httpd

sudo systemctl restart httpd
Run Code Online (Sandbox Code Playgroud)

剧透警报:从简短的测试来看,它不是 php-fpm,所以现在我必须弄清楚到底是什么导致了速度缓慢。