使用PHP5.2+IIS7.5访问网络共享

使用PHP5.2+IIS7.5访问网络共享

我正在使用带有 IIS7.5 的 php 5.2。

我在 NAS 上有一个受用户名和密码保护的网络共享。我无法禁用或更改 NAS 上的身份验证信息。我需要能够通过 php 访问该网络共享。

我已完成以下操作:

  1. 在 Windows 中创建新用户,其用户名和密码与 NAS 上的匹配。
  2. 创建使用相同身份验证信息的 IIS 应用程序池。
  3. 在 php 应用程序目录内创建了一个 web.config 文件,并启用了模拟功能,使用相同的身份验证信息。

    身份模仿=“true” 密码=“ThePass” 用户名=“TheUser” />

  4. 在 IIS 中的应用程序身份验证中启用了 ASP.NET 模拟。

使用 php 中的这行简单代码,似乎以上这些都不起作用:

$dir = opendir("\\\\someservername\\somesharename");

警告:opendir(\someservername\somesharename) [function.opendir]:无法打开目录:C:\websites\site\forum\testing.php 第 7 行中没有错误

因此,我决定用 ASP.NET 测试配置。

string[] diretories = System.IO.Directory.GetDirectories("\\\\someservername\\somesharename");

asp.net 测试运行完美。

继续深入研究,我运行了 phpinfo() 并检查了其中的用户名信息。在 phpinfo 的“环境”部分中,我找到了“USERNAME”项。它的值为“TheUser”,正如我所料。

一切都表明系统配置正确,直到我尝试:

echo get_current_user();

返回的是“IUSR”。这肯定不是我所期望的。

这个问题可以很容易地交叉发布到 stackoverflow,但我认为这是一个配置问题。

那么,我究竟如何让 php + IIS7.5 从国外网络共享读取数据呢?

相关内容