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

PHP 8.2.1无法加载SQL Server驱动问题求助

解决PHP 8.2.1加载SQL Server驱动失败的问题
  • 核心问题:扩展版本与PHP版本不匹配
    你用的是PHP 8.2.1,但启用的php_pdo_sqlsrv_81_nts_x64.dll和php_sqlsrv_81_nts_x64.dll是对应PHP 8.1的扩展,版本不兼容直接导致加载失败。

  • 下载匹配版本的扩展

    1. 从phpinfo()确认两个关键参数:Thread Safety为Disabled(对应nts版本),Architecture为x64
    2. 下载PHP 8.2 x64 nts版本的sqlsrv扩展,将解压后的php_pdo_sqlsrv_82_nts_x64.dll和php_sqlsrv_82_nts_x64.dll放到C:\Windows\PHP\ext目录
  • 修正php.ini配置
    打开C:\Windows\PHP\php.ini,把原来的扩展行替换成:

    extension=php_pdo_sqlsrv_82_nts_x64.dll
    extension=php_sqlsrv_82_nts_x64.dll
    

    或者PHP 7.4+可以简化写法:

    extension=pdo_sqlsrv
    extension=sqlsrv
    

    同时确认extension_dir = "C:\Windows\PHP\ext"配置正确,路径用双引号包裹避免空格问题。

  • 安装依赖组件
    SQL Server扩展必须依赖Microsoft ODBC Driver 17 for SQL Server(x64版本),未安装的话先完成安装,之后重启Web服务器(IIS、Apache等)或者PHP-FPM。

  • 验证加载结果
    重启服务后刷新phpinfo(),搜索sqlsrv和pdo_sqlsrv,能看到相关模块信息就说明加载成功。也可以用代码验证PDO驱动:

    print_r(PDO::getAvailableDrivers());
    

    输出里包含sqlsrv即为正常。

  • 额外排查点

    • 确认Web服务器使用的php.ini和phpinfo()显示的Loaded Configuration File是同一个,部分服务器可能加载多个配置文件
    • 开启PHP错误日志(在php.ini中设置error_log路径),查看扩展加载失败的具体报错,能更快定位问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 15:00:46