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

CentOS 7如何安装旧版EPEL仓库以获取php5 mssql_*函数

解决CentOS7下旧内网应用依赖php-mssql的安装问题

方案一:使用EPEL归档仓库安装

新版EPEL已移除php-mssql包,可切换到EPEL归档仓库获取旧版包:

  1. 备份当前EPEL仓库配置(若已安装)
    mv /etc/yum.repos.d/epel*.repo /etc/yum.repos.d/epel*.repo.bak
    
  2. 安装旧版EPEL-release包(以包含php-mssql的7-14版本为例)
    rpm -ivh https://dl.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm
    
  3. 安装php-mssql
    yum install php-mssql
    

注意:归档仓库为只读状态,后续不会收到包更新,适合内网旧应用场景,但需知晓潜在安全风险。

方案二:手动下载所有依赖包批量安装

若不想切换仓库,可手动解决依赖链:

  1. 查看php-mssql包的完整依赖列表
    rpm -qpR php-mssql-5.4.16-9.el7.x86_64.rpm
    
  2. 从EPEL归档仓库的7/x86_64/Packages/目录下,下载列表中所有缺失的依赖包
  3. 将所有下载的rpm包放入同一目录,执行批量安装
    yum localinstall /path/to/rpm/files/*.rpm
    

yum localinstall会自动处理本地包的依赖关系,比直接用rpm -ivh更可靠。

方案三:改用PDO_ODBC替代(需少量代码调整)

若应用允许微调代码,可使用PDO_ODBC替代旧版mssql扩展,这是更长期的兼容方案:

  1. 安装所需组件
    yum install php-pdo php-odbc freetds
    
  2. 配置freetds连接MSSQL服务器(编辑/etc/freetds.conf),然后在应用中用PDO语法替换原mssql函数调用。

额外注意事项

  • 确保当前PHP版本与原环境一致(CentOS7默认PHP5.4,与你之前使用的版本匹配),若已升级PHP需降级回对应版本。
  • 内网环境中,可将所需rpm包下载后离线存储,避免后续归档仓库访问问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 23:30:56