Ubuntu 20.04 Docker环境下PHP连接远程MSSQL缺少ODBC驱动问题
问题原因
你仅完成了PHP侧sqlsrv/pdo_sqlsrv扩展的安装,缺少Microsoft ODBC Driver for SQL Server核心运行库,导致扩展加载后无法找到底层通信驱动,触发当前报错。你提到的ODBC驱动文件为空,也是因为未安装对应驱动包,系统没有生成相关配置。
修复步骤(适配Docker Ubuntu 20.04 + PHP7.4环境)
- 导入微软GPG密钥、添加对应软件源:
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list apt update
- 安装ODBC驱动及依赖组件:
ACCEPT_EULA=Y apt install -y msodbcsql17 unixodbc unixodbc-dev
- 验证ODBC驱动是否正常注册:
odbcinst -q -d
正常输出应包含ODBC Driver 17 for SQL Server条目
- 若使用PHP-FPM模式,重启PHP服务:
systemctl restart php7.4-fpm
CLI模式无需重启,直接测试数据库连接即可。
内容的提问来源于stack exchange,提问作者Oliver
相关产品推荐
相关产品推荐

