Ubuntu 20.04.2 LTS下PHP7.4.33连接SQL Server提示could not find driver
解决Ubuntu 20.04下PHP7.4连接SQL Server提示“could not find driver”的问题
针对Ubuntu 20.04.2 LTS + PHP7.4.33环境下连接SQL Server时出现的驱动缺失报错,按以下步骤操作即可解决:
1. 安装微软ODBC驱动17 for SQL Server
先添加微软官方源并安装底层ODBC驱动:
# 导入微软GPG密钥 curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - # 添加SQL Server ODBC驱动源 curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list # 更新源并安装驱动 sudo apt update sudo ACCEPT_EULA=Y apt install -y msodbcsql17
2. 安装PHP7.4的SQL Server扩展
安装适配PHP7.4的sqlsrv和pdo_sqlsrv扩展:
# 安装编译依赖 sudo apt install -y php7.4-dev php-pear # 通过pecl安装指定版本扩展(5.10.1为PHP7.4适配的稳定版本) sudo pecl install sqlsrv-5.10.1 sudo pecl install pdo_sqlsrv-5.10.1
3. 启用扩展并验证
- 创建扩展配置文件:
sudo echo "extension=sqlsrv.so" > /etc/php/7.4/mods-available/sqlsrv.ini sudo echo "extension=pdo_sqlsrv.so" > /etc/php/7.4/mods-available/pdo_sqlsrv.ini
- 启用扩展:
sudo phpenmod sqlsrv pdo_sqlsrv
- 重启服务(根据web服务器选择对应命令):
# Apache环境 sudo systemctl restart apache2 # Nginx+php-fpm环境 sudo systemctl restart php7.4-fpm
- 验证:执行
php -m | grep sqlsrv,若输出sqlsrv和pdo_sqlsrv则说明扩展加载成功,也可重新查看phpinfo确认模块存在。
完成以上步骤后,重新尝试连接SQL Server即可解决驱动缺失问题。
内容的提问来源于stack exchange,提问作者Disponible Disponible
相关产品推荐
相关产品推荐

