如何用PHP连接SQL Server?XAMPP PHP8.1驱动加载失败求助
解决XAMPP环境下PHP 8.1无法加载SQL Server驱动的问题
以下是针对驱动加载失败的排查和解决步骤:
确认架构与驱动版本完全匹配
先通过phpinfo()查看PHP的Architecture(32/64位)和Thread Safety(是否开启),下载的SQL Server驱动必须完全对应:- XAMPP默认是线程安全(TS)版本,所以要选带
_ts后缀的驱动文件,比如php_sqlsrv_81_ts_x64.dll - 驱动位数必须和PHP架构一致,32位PHP不能用64位驱动,反之亦然
- XAMPP默认是线程安全(TS)版本,所以要选带
检查php.ini配置是否准确
- 打开XAMPP控制面板,点击PHP模块的「Config」→「php.ini」
- 在文件中添加(或确认存在)以下两行:
注意不要手动添加文件路径,XAMPP默认已经把extension=php_sqlsrv.dll extension=php_pdo_sqlsrv.dllext目录配置到extension_dir中 - 确认
extension_dir配置正确,比如:
或使用绝对路径:extension_dir = "ext"extension_dir = "C:\xampp\php\ext" - 保存修改后重启Apache,再通过
phpinfo()查看是否出现sqlsrv或pdo_sqlsrv的模块信息
安装必要的VC运行库
PHP 8.1依赖Visual C++ Redistributable for Visual Studio 2019及以上版本,且要对应你的系统架构(x64/x86)。如果缺少这个依赖,驱动会因加载失败被系统拒绝。验证驱动文件完整性
重新下载对应PHP 8.1的SQL Server驱动包,解压后替换ext目录中的旧文件,避免因文件损坏导致加载失败。配置系统环境变量
将XAMPP的PHP根目录(比如C:\xampp\php)添加到系统环境变量的PATH中,然后重启电脑。这能确保Apache启动时可以找到驱动依赖的相关文件。查看详细错误日志
除了XAMPP启动日志,还可以查看PHP错误日志(路径通常为xampp\php\logs\php_error_log),里面会记录驱动加载失败的具体原因,比如缺少某个依赖库的提示,能帮你快速定位问题。
内容的提问来源于stack exchange,提问作者Manu
相关产品推荐
相关产品推荐

