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

PHP无法加载sqlsrv扩展求助:Laravel连接SQL Server遇加载错误

Laravel对接SQL Server驱动加载失败的解决办法

问题情况

尝试用PHP实现Laravel与SQL Server对接时,已下载适配x64设备的两个驱动,但PHP启动时抛出警告:

PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_sqlsrv_82_ts_x64.dll' (tried: ext\pdo_sqlsrv_82_ts_x64.dll (找不到指定的模块), ext\php_pdo_sqlsrv_82_ts_x64.dll.dll (找不到指定的模块)) in Unknown on line 0

相关截图:
驱动文件存放目录
php.ini配置内容

排查与解决步骤

1. 修正驱动文件名与配置的匹配

  • 检查PHP安装目录下ext文件夹内的驱动文件名,若实际文件为php_pdo_sqlsrv_82_ts_x64.dll,需在php.ini中写入完整文件名(无需重复添加.dll后缀):
    extension=php_pdo_sqlsrv_82_ts_x64
    extension=php_sqlsrv_82_ts_x64
    
  • 避免只写pdo_sqlsrv_82_ts_x64,否则PHP会自动补全前缀导致找不到文件。

2. 确认驱动与PHP环境完全匹配

  • 驱动的PHP版本(如82对应PHP 8.2)、线程安全(TS/NTS)、架构(x64)必须和当前PHP环境一致。可通过phpinfo()查看以下核心信息:
    • PHP版本号
    • Thread Safety状态
    • 系统架构类型

3. 安装必备的ODBC驱动

  • SQL Server PHP驱动依赖ODBC Driver 17 for SQL Server及以上版本,需下载安装对应x64版本的ODBC驱动,否则即使PHP驱动文件正确,也会触发“找不到指定模块”的错误。

4. 验证驱动加载状态

  • 修改配置后重启Web服务器(如Apache/Nginx)或CLI环境,运行php -m命令,查看输出列表中是否包含pdo_sqlsrv和sqlsrv;也可通过phpinfo()页面搜索这两个模块,确认是否加载成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 05:13:31