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

PHP报错Can't open lib 'ODBC Driver 13 for SQL Server'该如何解决?

解决Ubuntu 16.04更新后PHP sqlsrv无法连接MS SQL数据库的问题

我刚踩过这个坑,分享下亲测有效的解决方案:在Ubuntu 16.04执行apt-get update/upgrade更新后,所有针对MS SQL数据库的查询直接失败,排查后发现问题卡在数据库连接环节。

问题根源

核心是版本兼容性冲突:执行系统更新时,微软自动将ODBC驱动升级到了17版本,同时卸载了原本的13版本,但PHP的sqlsrv扩展并没有同步更新,它仅兼容旧的13版驱动,导致连接直接失效。

解决方案:降级ODBC驱动到13版本

具体操作步骤如下:

  • 先卸载当前的ODBC 17驱动:
    sudo apt-get remove --purge msodbcsql17
    
  • 添加微软针对Ubuntu 16.04的ODBC 13软件源:
    sudo su
    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
    exit
    
  • 更新软件源并安装ODBC 13驱动:
    sudo apt-get update
    sudo ACCEPT_EULA=Y apt-get install msodbcsql13
    
  • 重启Web服务,确保PHP模块加载生效:
    # 若使用Apache
    sudo systemctl restart apache2
    # 若使用Nginx+PHP-FPM
    sudo systemctl restart php7.0-fpm
    sudo systemctl restart nginx
    

完成这些步骤后,再测试MS SQL数据库连接,应该就能恢复正常了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:26:54