You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7双PHP环境下,如何配置php-fpm使用php55而非默认php?

解决方案:让Nginx的php-fpm使用PHP5.5版本

当然可行!你只需要调整php-fpm的实例配置,让Nginx指向PHP5.5对应的php-fpm服务即可,具体步骤如下:

  • 第一步:定位PHP5.5的php-fpm配置文件
    首先确认PHP5.5版本的php-fpm配置路径。如果你是通过yum等包管理器安装的php55,配置文件通常在/etc/php55/php-fpm.conf或者/etc/php-fpm-5.5/目录下。也可以通过命令快速验证:

    php55-fpm -t
    

    执行后会输出当前php-fpm加载的配置文件路径,比如Configuration file /etc/php55/php-fpm.conf test is successful。

  • 第二步:修改PHP5.5的php-fpm监听地址
    默认情况下,php-fpm会监听127.0.0.1:9000端口,为了和默认PHP4.5的php-fpm区分开,我们需要修改PHP5.5的监听端口或使用Unix Socket(后者性能更优):
    打开找到的配置文件,找到listen指令,修改为:

    # 方式1:使用不同端口
    listen = 127.0.0.1:9001
    # 方式2:使用Unix Socket
    listen = /var/run/php55-fpm.sock
    

    如果选择Socket方式,还需要设置正确的权限,确保Nginx能正常访问:

    listen.owner = nginx
    listen.group = nginx
    listen.mode = 0660
    
  • 第三步:启动并启用PHP5.5的php-fpm服务
    CentOS7上,PHP5.5的php-fpm服务名通常是php55-fpm,执行以下命令启动服务并设置开机自启:

    systemctl start php55-fpm
    systemctl enable php55-fpm
    

    可以通过systemctl status php55-fpm验证服务是否正常运行。

  • 第四步:调整Nginx配置指向PHP5.5的php-fpm
    打开你的Nginx站点配置文件(通常在/etc/nginx/conf.d/或/etc/nginx/sites-available/目录下),找到fastcgi_pass指令,将原来的127.0.0.1:9000修改为PHP5.5的监听地址:

    # 如果用端口方式
    fastcgi_pass 127.0.0.1:9001;
    # 如果用Socket方式
    fastcgi_pass unix:/var/run/php55-fpm.sock;
    

    其他fastcgi相关参数(比如fastcgi_param SCRIPT_FILENAME)保持默认即可,无需修改。

  • 第五步:重启Nginx并验证
    重启Nginx使配置生效:

    systemctl restart nginx
    

    最后,在你的网站根目录创建一个phpinfo.php文件,内容如下:

    <?php phpinfo(); ?>
    

    通过浏览器访问这个文件,查看页面顶部的PHP版本信息,确认是否已经切换为5.5。

额外说明

如果你不再需要默认PHP4.5的php-fpm服务,可以执行systemctl stop php-fpm停止它;如果需要不同站点使用不同PHP版本,只需要给每个站点的Nginx配置单独指定对应的fastcgi_pass地址即可。

内容的提问来源于stack exchange,提问作者user2943799

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 03:34:07