Windows认证连接MSSQL,PHP配置全攻略
作者:SoftHope
时间:2025-10-01
来源:互联网
浏览:0
要实现PHP通过Windows身份验证连接SQLServer,需使用sqlsrv扩展并配置Web服务器以有权限的域账户运行,连接时省略用户名密码,利用系统安全上下文完成认证。
要实现PHP通过Windows身份验证连接SQL Server,需使用sqlsrv扩展并配置Web服务器以有权限的域账户运行,连接时省略用户名密码,利用系统安全上下文完成认证。

在Windows环境下使用PHP连接SQL Server时,如果希望避免使用用户名和密码,可以通过Windows身份验证(也称集成认证)实现安全连接。这种方法依赖于运行PHP的系统账户权限,适合内网或企业环境。
启用Windows身份验证连接MSSQL
要通过Windows认证连接MSSQL,需确保以下几点配置正确:
- 使用SQL Server Native Client驱动:推荐使用sqlsrv扩展而非旧版mssql扩展。微软提供的sqlsrv支持Windows身份验证。
- 安装php-sqlsrv扩展:从微软官方下载适用于PHP版本的sqlsrv扩展(如php_sqlsrv_80_ts.dll),并添加到php.ini中:
extension=php_sqlsrv_80_ts.dll - 确保IIS或Apache以域账户运行:Web服务器(如IIS)的应用程序池身份需设置为具有MSSQL访问权限的域账户,不能使用Local System或Network Service(除非已授权)。
连接字符串配置(无需用户名密码)
使用sqlsrv_connect()函数时,连接选项中不提供UID和PWD即可启用Windows认证:
$serverName = "localhost\\SQLEXPRESS"; // 或IP地址+实例名$connectionOptions = array("Database" => "YourDB");
$conn = sqlsrv_connect($serverName, $connectionOptions);
if ($conn === false) {
die(print_r(sqlsrv_errors(), true));
}
echo "连接成功";
上述代码利用当前执行进程的安全上下文进行认证,即“trusted connection”。
常见问题与解决方法
- 错误提示“Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'”:说明存在委托问题,可能是IIS启用了匿名认证。应关闭匿名认证,开启Windows认证。
- 确认SQL Server允许Windows身份验证模式:在SQL Server Management Studio中,右键实例 → 属性 → 安全性,确保选择了“Windows 身份验证模式”或“混合模式”。
- Kerberos双跃点限制:若Web服务器与数据库不在同一台机器,需配置Active Directory中的委派权限,否则无法传递用户凭据。
作者最新文章
苹果折叠屏iPhone是翻盖还是对折形态
2026-09-14 13:33
PDF转Word的4种方法及结果核对步骤
2026-09-09 06:00
速腾聚创自研SPAD-SoC芯片交付破50万颗,MARS基地实现8秒下线一台激光雷达
2026-09-08 17:42
TECNO Camon Slim 5G发布:6.39mm机身与6000mAh电池规格解析
2026-09-08 17:04
小米 18 Fold 暖金白图赏:中折叠形态与核心规格解析
2026-09-08 16:50
上一篇:
迅雷浏览器登录入口及官网指南
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















