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

Windows本地PHP CLI无法加载sqlsrv/pdo_sqlsrv扩展求助

解决Windows PHP CLI无法加载pdo_sqlsrv扩展的问题

核心排查与修复步骤

1. 匹配扩展文件名与php.ini配置

错误里PHP尝试加载pdo_sqlsrv_7_nts_x64和php_pdo_sqlsrv_7_nts_x64.dll,你需要:

  • 查看ext目录里的实际文件名,部分版本的扩展文件名不带PHP版本、NTS/x64后缀(比如可能是php_pdo_sqlsrv.dll)
  • 打开php.ini,把扩展配置行改成完全匹配实际文件名,示例:
    extension=php_pdo_sqlsrv.dll
    
    不要加多余的版本标识,PHP会自动适配当前环境。

2. 验证PHP与扩展的兼容性

  • 运行php -v,确认你的PHP版本(如7.4.x)、是否为NTS(非线程安全)、位数(x64/x86)
  • 下载的pdo_sqlsrv扩展必须完全匹配这三个参数:主版本一致、NTS/TS对应、位数相同,不匹配会直接加载失败。

3. 补全依赖驱动

pdo_sqlsrv依赖Microsoft ODBC Driver for SQL Server,缺失这个驱动会触发"找不到模块"的错误:

  • 安装对应版本的ODBC驱动(建议选兼容你SQL Server版本的最新版)
  • 安装后重启CLI窗口,再测试扩展加载。

4. 确认php.ini的实际加载路径

PHP CLI可能加载的不是你修改的php.ini:

  • 运行php --ini,查看Loaded Configuration File的路径,确保你修改的是这个文件
  • 如果显示(none),手动指定配置文件路径测试:php -c C:\php\php.ini -m

5. 检查文件权限与完整性

  • 确认ext目录和扩展文件有读取权限,右键文件→属性→安全,确保当前用户拥有读取权限
  • 重新下载扩展包替换现有文件,避免文件损坏导致加载失败

验证方法

修改配置后,在CMD运行:

php -m | findstr "pdo_sqlsrv"

如果输出pdo_sqlsrv,说明扩展加载成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 18:03:18