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

PHP 5.6.35启用SQL Server驱动后连接数据库提示需ODBC Driver 11

解决PHP 5.6连接SQL Server时的ODBC Driver 11缺失错误

嘿,这个问题我帮好几个开发者排查过,别着急!你已经成功启用了php_pdo_sqlsrv_56_nts.dll和php_sqlsrv_56_nts.dll扩展,这步没问题,但SQL Server的PHP驱动必须依赖对应的ODBC驱动才能正常工作,你看到的错误就是系统里缺少Microsoft ODBC Driver 11导致的。

咱们一步步来解决:

  • 先核对位数匹配! 你用的是非线程安全(NTS)的PHP 5.6,一定要确保下载的ODBC Driver 11和PHP是同位数的——PHP是32位就装32位ODBC驱动,64位PHP就装64位的,这是最容易踩的坑,很多人就是因为位数不匹配导致装了也没用。
  • 安装ODBC Driver 11 for SQL Server:找对应你Windows系统版本的安装包,安装过程一路默认下一步就行,不需要额外配置。
  • 重启你的Web服务器:不管是Apache还是IIS,装完ODBC驱动后必须重启服务,这样PHP才能识别到新安装的底层驱动。
  • 写个小脚本验证连接:比如这个简单的PDO测试脚本:
<?php
try {
    $dsn = "sqlsrv:Server=你的SQL服务器地址;Database=要连接的库名";
    $conn = new PDO($dsn, "用户名", "密码");
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "数据库连接成功啦!";
} catch(PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}
?>

如果还是报错,打开ODBC数据源管理器(控制面板里搜“ODBC”就能找到),切换到“驱动”标签,看看有没有“Microsoft ODBC Driver 11 for SQL Server”或者“SQL Server Native Client 11.0”,要是没有说明安装没成功,重新下载对应位数和系统版本的安装包再试一次。

另外要注意,PHP 5.6对应的SQL Server驱动只能用ODBC Driver 11,别尝试用更高版本的ODBC驱动替代,版本不兼容反而会出问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:07:18