本文介绍配置与apache服务器配合使用的php-fpm版本管理。
如果安装了多个版本的PHP-FPM,在升级、测试时可能需要更改apache默认调用的版本。如果apache需要的php-fpm版本没有启动,会发生如下错误:
[Mon May 25 04:05:25.436614 2020] [proxy_fcgi:error] [pid 23258:tid 140373783455488] [client 192.168.99.1:5928] AH01079: failed to make connection to backend: httpd-UDS
[Mon May 25 04:05:35.682810 2020] [proxy:error] [pid 23258:tid 140373800240896] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php7.1-fpm.sock (*) failed
比如原先安装、使用7.1,现在想升级到7.2,那么安装7.2后会发现apache使用的还是7.1,如果停掉7.1,就会发生上面的错误。
如果注意观察,会发现安装7.2时,会有如下提示:
NOTICE: Not enabling PHP 7.2 FPM by default.
NOTICE: To enable PHP 7.2 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.2-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
所以正确的做法是:
# 停掉7.1并取消自启动:
systemctl stop php7.1-fpm
systemctl disable php7.1-fpm
# 开启7.2并设定自启动
systemctl start php7.2-fpm
systemctl enable php7.2-fpm
# 切换apache默认使用的php-fpm版本
a2disconf php7.1-fpm
a2enconf php7.2-fpm
# 重启载入apache配置
systemctl reload apache2
-- EOF --
本文最后修改于5年前 (2020-05-25)