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

PHP 8.1及以上版本配置sqlsrv扩展及解决连接报错问题

PHP 8.1.14 sqlsrv_connect() 未定义错误解决指南

一、确认扩展版本匹配

  1. 先核实PHP核心参数:创建phpinfo.php文件,内容如下:
    <?php phpinfo(); ?>
    
    访问该文件,查看Thread Safety(线程安全,Enabled为TS,Disabled为NTS)和Architecture(架构,x64/x86)信息。
  2. 你下载的php_pdo_sqlsrv_81_ts_x64.dll和php_sqlsrv_81_ts_x64.dll必须完全匹配PHP的版本(8.1)、线程安全类型(TS)和架构(x64),参数不匹配会导致扩展无法加载。

二、修正php.ini配置

  1. 检查扩展路径:打开C:\xampp\php\php.ini,确认extension_dir指向正确的扩展目录,示例:
    extension_dir = "C:\xampp\php\ext"
    
  2. 简化扩展配置:无需写完整的dll文件名,将你添加的两行配置替换为:
    extension=sqlsrv
    extension=pdo_sqlsrv
    
    确保配置行前没有注释符号;,且放在Dynamic Extensions段落内。

三、重启Web服务

修改php.ini后,必须重启XAMPP中的Apache服务,否则配置不会生效。

四、验证扩展加载状态

  1. 重新访问phpinfo.php,搜索sqlsrv和pdo_sqlsrv,若能看到对应的扩展信息,说明加载成功。
  2. 或用命令行验证:打开CMD,进入C:\xampp\php目录,执行:
    php -m
    
    查看输出列表中是否包含sqlsrv和pdo_sqlsrv。

五、代码细节修正

  1. 连接字符串格式:你的$serverName存在多余空格,需修正为无空格的格式,示例:
    $serverName = "your_server_name,your_port_number"; // 例如 "localhost,1433"
    
  2. 确保Database、UID、PWD的取值无多余符号,与SQL Server的配置完全一致。

六、依赖组件检查

sqlsrv扩展依赖ODBC Driver 17 for SQL Server,必须安装该驱动才能正常连接SQL Server。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 22:45:33