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

PHP 8.1连接SQL Server数据库失败求助

解决PHP 8.1连接SQL Server的ODBC驱动错误

问题原因

你安装的ODBC Driver 11不兼容PHP 8.1的sqlsrv扩展,同时驱动管理器无法匹配到合适的驱动版本,导致连接失败。

修复步骤

  • 安装兼容的ODBC驱动版本:PHP 8.1要求使用ODBC Driver 17或更高版本,Driver 11仅支持到PHP 7.0系列,必须安装对应x64版本的驱动。
  • 确保架构完全匹配:
    • 确认ODBC驱动是x64版本,与Windows Server 2016系统架构一致
    • 调整IIS应用池设置:右键目标应用池 → 高级设置 → 将「启用32位应用程序」设置为False
  • 验证PHP扩展加载状态:
    • 打开php.ini,确认已启用extension=sqlsrv和extension=pdo_sqlsrv(如果使用PDO连接)
    • 创建phpinfo.php文件,内容为<?php phpinfo(); ?>,访问后搜索「sqlsrv」,确认扩展已成功加载
  • 显式指定驱动版本:
    在连接配置数组中添加驱动参数,避免驱动管理器自动选择错误版本:
    $credInfo = array(
        "Database"  => (string) $SQLserverConfigFile->DB,
        "UID"       => (string) $SQLserverConfigFile->UID,
        "PWD"       => (string) $SQLserverConfigFile->PWD,
        "Driver"    => "{ODBC Driver 17 for SQL Server}" // 替换为你实际安装的驱动版本
    );
    
  • 重启服务生效:安装驱动和修改配置后,执行iisreset命令重启IIS服务,确保所有配置生效

额外检查项

  • 确认服务器与SQL Server实例网络连通(可通过ping测试)
  • 确保SQL Server允许远程连接,且使用的账号拥有目标数据库的读写权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 15:30:43