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

如何让IIS使用应用池身份而非NT Authority\IUSR连接SQL Server

Windows Server 2019 IIS+PHP连接SQL Server登录失败问题解决方案

问题现象

在Windows Server 2019服务器上部署IIS、PHP 8、SQL Server驱动以及SQL Server 2019 Express,创建测试PHP应用、对应应用程序池并配置测试数据库后,使用sqlsrv_connect连接数据库时抛出报错:

用户'NT AUTHORITY\IUSR'登录失败

已尝试的配置操作

  • 参照Windows Server 2012的配置逻辑,将IIS匿名身份验证设置为使用应用池身份
  • 在SQL Server中为对应应用池身份添加了测试数据库的访问权限

上述配置始终不生效,曾怀疑Windows Server 2019与Server 2012的应用池身份处理逻辑存在差异

根因定位

测试应用目录放在默认站点的wwwroot路径下(路径c:\inetpub\wwwroot\test),通过www.domain.com/test访问时,应用实际运行在wwwroot对应的默认站点应用池下,该应用池默认使用IUSR身份运行,而非单独创建的测试应用池。

解决方案

将测试应用配置为独立站点,绑定独立域名test.domain.com后访问,应用会使用单独分配的应用池身份运行,数据库连接报错即可解决。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:24:04