我正在使用 PHP 5.4 在 Windows Server 2008 R2 上运行 IIS 7。我的一个 PHP 脚本正在尝试使用 UNC 路径访问 protected 网络共享上的文件。如何将 IIS 服务帐户更改为有权访问共享的帐户?这在 Apache HTTP 服务器上很容易做到(您只需更改它),但不清楚如何使用 IIS。我能做什么?
更新:
我能够使用我网站“基本设置”中的“连接为”选项让事情正常工作,然后指定一个可以访问网络共享的帐户。看来我的问题与这个问题有关:
https://serverfault.com/questions/366234/iis-identities-application-pool-vs-connect-as-in-basic-settings
请您参考如下方法:
对于在 Windows Server 2008 R2 上运行的 IIS 7 ...在 IIS Manager
中,选择 Application Pool
您的网站在其下运行。
点击“高级设置”。将有 Identity
的条目(它位于 Process Model
部分下)。单击它,提供有权访问共享的帐户的凭据。
更新
如果您使用的是 Active Directory 域帐户,您应该确保在 Identity
下正确提供了该帐户。对于正在运行的应用程序池。例如,MYDOMAIN\myAccount
.
进行此更改后,您需要执行以下操作:
更新二
从对此答案的评论讨论中,@HydroPowerDeveloper 能够使用网站 -> 基本设置 ->“连接为”并在那里设置凭据,使 PHP 脚本能够通过 UNC 路径访问网络共享。
过去我一直采用设置
Identity
的方式。通过
Application Pool
这允许我的代码通过 UNC 路径访问网络共享。
但是,我在
IIS
上部署的所有站点/应用程序是基于 .NET 的 WCF 或 ASPX 站点。
我会推测(但不是 100% 确定,需要研究/测试来确认)
Identity
在
Application Pool
中指定用于执行 .NET 代码,而 PHP 脚本使用“Connect As”。