Linux Apache环境下PHP7.4连接SQL Server缺失ODBC驱动求助
Linux下PHP连接SQL Server的ODBC驱动安装及PHP版本选择建议
一、通过apt-get安装Microsoft ODBC Driver及PHP扩展(Debian/Ubuntu系)
Linux下的配置逻辑和Windows类似,但需要先安装系统级ODBC驱动,再配置PHP扩展,具体步骤如下:
- 添加Microsoft官方软件源(默认apt源不含SQL Server驱动):
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list - 更新本地apt缓存:
sudo apt-get update - 安装兼容PHP7.4的ODBC Driver 17 for SQL Server:
sudo ACCEPT_EULA=Y apt-get install msodbcsql17 - 安装PHP7.4对应的sqlsrv和pdo_sqlsrv扩展:
sudo apt-get install php7.4-sqlsrv php7.4-pdo-sqlsrv - 重启Apache使扩展生效:
sudo systemctl restart apache2 - 验证扩展:创建
phpinfo.php文件写入<?php phpinfo(); ?>,访问该页面后搜索sqlsrv和pdo_sqlsrv,确认扩展已加载即可。
二、PHP 7.4 vs 8.2升级建议
- 无需急着升级的场景:如果当前项目基于PHP7.4运行稳定,仅需解决SQL Server连接问题,上述驱动完全支持PHP7.4,可继续使用现有版本。注意PHP7.4已停止安全更新(2022年11月结束),非敏感测试环境或小型业务可忽略此风险。
- 建议升级的场景:
- 有新功能开发需求,需要PHP8.x的新特性(如联合类型、属性提升、性能优化等)
- 业务对安全性要求高,PHP8.2可获得持续安全更新(支持至2025年12月)
- 后续计划使用的框架、扩展要求更高PHP版本
- 升级注意事项:若决定升级,务必先在测试环境验证代码兼容性——PHP8.x废弃了部分旧语法(如某些魔术方法的使用、过时函数),直接升级可能导致项目报错。
内容的提问来源于stack exchange,提问作者R_Scott
相关产品推荐
相关产品推荐

