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

CentOS7中rh-php70-php-cli已安装但php命令无法调用,求排查

解决CentOS 7中rh-php70-cli命令找不到及PDO组件无法工作的问题

你遇到的核心问题是rh-php70系列包属于CentOS Software Collections(SCL)提供的版本隔离包,这类包为了不干扰系统默认的软件版本,默认不会将可执行文件路径加入系统全局环境变量,所以直接执行php命令会提示找不到,连带依赖该环境的PDO组件也无法正常加载。下面是具体的解决步骤:

1. 临时激活rh-php70环境(当前SSH会话有效)

在当前终端执行以下命令,激活rh-php70的运行环境:

scl enable rh-php70 bash

激活后,你可以通过php -v验证版本,此时应该会输出7.0.27的版本信息,再执行php test.php就能正常运行脚本了。

2. 永久激活rh-php70环境(用户登录自动生效)

如果希望每次登录服务器都自动激活该环境,可以编辑当前用户的bash配置文件:

  • 打开用户目录下的.bashrc文件:
    vi ~/.bashrc
    
  • 在文件末尾添加一行:
    source scl_source enable rh-php70
    
  • 保存退出后,执行source ~/.bashrc让配置立即生效,或者重新登录SSH会话即可。

3. 验证PDO组件是否正常工作

激活环境后,执行以下命令检查PDO扩展是否加载:

php -m | grep pdo

如果输出包含pdo_mysql(或你需要的PDO驱动),说明组件已正常加载。若仍有问题,可以检查SCL专属的PHP配置文件:

  • 主配置文件路径:/opt/rh/rh-php70/root/etc/php.ini
  • 扩展配置目录:/opt/rh/rh-php70/root/etc/php.d/
    确保对应的PDO驱动配置文件(如pdo_mysql.ini)存在且未被注释。

备选方案:直接使用绝对路径执行

如果你不想激活环境,也可以直接使用rh-php70的php可执行文件绝对路径来运行脚本:

/opt/rh/rh-php70/root/usr/bin/php test.php

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:22:14