温馨提示×

php-fpm与apache如何切换使用

小樊
32
2025-12-06 14:56:35
栏目: 编程语言

要在 PHP-FPM 和 Apache 之间切换使用,您需要根据您的需求和配置进行操作。这里有两种方法可以实现切换:

方法一:使用 Apache 的 mod_proxy_fcgi 模块

  1. 确保已安装并启用了 mod_proxy 和 mod_proxy_fcgi 模块。在 Apache 配置文件(例如 httpd.conf 或 apache2.conf)中添加以下内容:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
  1. 在 Apache 虚拟主机配置文件中,将 PHP 请求代理到 PHP-FPM。例如:
<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/html

    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    # Proxy PHP requests to PHP-FPM
    <FilesMatch \.php$>
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
</VirtualHost>
  1. 重启 Apache 服务以应用更改:
sudo service apache2 restart

方法二:使用 PHP-FPM 和 Apache 的 mod_fastcgi 模块

  1. 确保已安装并启用了 mod_fastcgi 模块。在 Apache 配置文件(例如 httpd.conf 或 apache2.conf)中添加以下内容:
LoadModule fastcgi_module modules/mod_fastcgi.so
  1. 在 Apache 虚拟主机配置文件中,将 PHP 请求代理到 PHP-FPM。例如:
<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/html

    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    # Proxy PHP requests to PHP-FPM
    <FilesMatch \.php$>
        SetHandler fastcgi-script
        FastCgiExternalServer /var/run/php/php7.4-fpm.sock -socket /var/run/php/php7.4-fpm.sock -pass-header Authorization
    </FilesMatch>
</VirtualHost>

注意:请根据您的 PHP 版本更改 FastCgiExternalServer 行中的 php7.4-fpm.sock。

  1. 重启 Apache 服务以应用更改:
sudo service apache2 restart

完成以上步骤后,您可以根据需要选择使用 PHP-FPM 或 Apache 来处理 PHP 请求。如果您遇到任何问题,请检查配置文件以确保所有设置都正确。

0