CentOS7+CWP环境下多版本PHP-FPM虚拟主机配置求助
在CentOS 7 + CWP环境下搞定多版本PHP-FPM配置
兄弟,我懂你折腾这个的痛苦,毕竟默认的PHP5.4真的太老了,下面给你一步步捋清楚怎么配置:
一、先确认各版本PHP-FPM的运行状态
首先得确保你装的那些PHP版本(5.6/7.0/7.1/7.2)的FPM服务是真的在跑,而不是只有默认的5.4在瞎晃。执行命令检查:
# CWP下服务名一般是alt-phpXX-fpm,检查各版本状态 systemctl status alt-php56-fpm systemctl status alt-php70-fpm systemctl status alt-php71-fpm systemctl status alt-php72-fpm
要是哪个版本没启动,直接启动并设开机自启:
systemctl start alt-php72-fpm systemctl enable alt-php72-fpm
二、修改虚拟主机配置,绑定对应版本的FPM套接字
你之前的虚拟主机配置得明确指定对应PHP版本的套接字路径,不能用默认的。每个版本的套接字一般在/opt/alt/phpXX/var/run/php-fpm.sock,比如PHP7.2的就是/opt/alt/php72/var/run/php-fpm.sock。
把下面这段加到你的虚拟主机配置里(记得替换成你要的版本路径):
<FilesMatch \.php$> SetHandler "proxy:unix:/opt/alt/php72/var/run/php-fpm.sock|fcgi://localhost/" </FilesMatch>
另外,Apache必须启用proxy_fcgi和setenvif模块,不然这配置没用:
a2enmod proxy_fcgi setenvif systemctl restart httpd
三、干掉默认的PHP5.4-FPM(可选)
如果那个老掉牙的5.4版本FPM一直占着坑,干脆停掉它:
systemctl stop php-fpm systemctl disable php-fpm
四、验证配置是否生效
在网站根目录建个info.php文件:
<?php phpinfo(); ?>
访问这个文件,看页面顶部的PHP Version,要是显示7.2(或者你指定的版本),那就是成了!
悄悄说一句:其实CWP面板自带多PHP版本切换功能,你进面板找
PHP Settings->PHP Version Selector,直接给对应虚拟主机选版本就行,不用手动改配置,省不少事儿~
内容的提问来源于stack exchange,提问作者spooky
相关产品推荐
相关产品推荐

