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

XAMPP环境下Microsoft PHP SQL Server驱动加载及sqlsrv_connect函数异常问题

PHP sqlsrv_connect() 未定义错误排查(XAMPP + PHP 8.0.3)

问题背景

使用XAMPP搭建服务器,PHP版本为8.0.3,初期因安装PHP 83版本的sqlsrv扩展,启动时出现动态库加载警告;更换为PHP 80版本的扩展后警告消失,但仍报错Call to undefined function sqlsrv_connect()。

排查与解决步骤

  • 确认扩展与PHP环境完全匹配

    • 检查C:\xampp\php\ext目录下的扩展文件,需为php_sqlsrv_80_ts_x64.dll和php_pdo_sqlsrv_80_ts_x64.dll,需与PHP的ZTS、x64、VC2019(VC16)版本严格对应。
    • 打开php.ini文件,确保启用语句正确:
      extension=php_sqlsrv_80_ts_x64.dll
      extension=php_pdo_sqlsrv_80_ts_x64.dll
      
      部分PHP版本支持简化写法extension=sqlsrv和extension=pdo_sqlsrv,但建议写完整前缀避免歧义。
  • 验证扩展是否成功加载

    • 运行命令行指令php -m,查看输出列表中是否包含sqlsrv和pdo_sqlsrv模块,若无则说明扩展未加载。
    • 创建phpinfo.php文件,内容为:
      <?php phpinfo(); ?>
      
      访问该文件后搜索sqlsrv,确认存在相关配置项。
  • 安装依赖的ODBC驱动

    • sqlsrv扩展依赖Microsoft ODBC Driver for SQL Server,需安装适配PHP 8.0的版本(推荐ODBC 17或18),安装完成后重启Apache服务。
  • 确认修改的是正确的php.ini文件

    • 运行php --ini指令,查看Loaded Configuration File对应的路径,确保你编辑的是该路径下的php.ini(XAMPP中Apache和CLI可能使用不同的配置文件)。
  • 强制重启服务
    修改php.ini后,必须完全关闭并重启Apache服务器及PHP CLI进程,确保配置变更生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 07:20:01