yum安装php-dev/php-pear遇php-cli文件冲突,无法部署sqlsrv驱动
解决yum安装php-pear/php-dev时的文件冲突问题(部署sqlsrv驱动场景)
问题场景
执行以下命令安装PEAR包:
sudo yum install php-dev php-pear
触发如下文件冲突错误:
Transaction check error: file /usr/bin/php from install of php-cli-5.4.16-48.el7.x86_64 conflicts with file from package ea-php-cli-1.0.0-9.13.1.cpanel.x86_64
该操作目的是为部署sqlsrv驱动做准备,目前因冲突无法完成安装。
问题原因
系统中已安装cPanel提供的EA-PHP套件(ea-php-cli),其与CentOS官方yum源的php-cli包都需要占用/usr/bin/php文件,导致安装冲突。
解决方法
方法1:直接使用EA-PHP自带的PEAR(推荐)
cPanel的EA-PHP套件通常已集成PEAR,无需额外安装:
- 检查PEAR是否存在:
which pear
- 若返回有效路径(如
/usr/local/bin/pear),直接使用该PEAR工具安装sqlsrv驱动即可。
方法2:卸载EA-PHP套件后安装官方包(谨慎操作)
若必须使用官方yum源的PHP组件,需先移除冲突的EA-PHP包:
- 查看当前EA-PHP版本:
ea-php -v
- 卸载冲突组件:
sudo yum remove ea-php-cli
注意:该操作会替换系统默认PHP环境,若服务器运行cPanel托管的网站,可能导致站点异常,操作前需备份配置。
- 重新执行安装命令:
sudo yum install php-dev php-pear
- 完成后部署sqlsrv驱动。
方法3:通过cPanel EasyApache 4安装适配组件
针对cPanel环境,更稳妥的方式是通过官方工具安装:
- 登录cPanel后台,找到EasyApache 4工具
- 在组件搜索框中查找并勾选对应EA-PHP版本的
PEAR组件 - 同时搜索
sqlsrv相关PHP扩展,直接通过EasyApache 4完成安装,避免版本冲突。
内容的提问来源于stack exchange,提问作者Global Nephrology
相关产品推荐
相关产品推荐

