【发布时间】:2012-09-11 08:32:44
【问题描述】:
我希望这里有人可以帮助我。 我在这个问题上搜索了大约 3 个小时,但没有发现任何帮助。 (不,stackoverflow.com/questions/1539506 下的答案没有帮助)
我有一个安装了 PHP 的 IIS 7。我将测试网站的身份验证模式设置为“Windows 身份验证”。一切正常(我在 PHP 中收到“REMOTE_USER”)。
现在我必须使用“scandir()”和“is_file()”以及其他一些函数访问网络共享,但我只会收到错误消息,例如“访问被拒绝”或“无法打开目录:没有这样的文件或目录”。
权限设置正确:如果我将身份验证设置为“匿名”并将“用户身份”设置为我当前的测试用户,一切正常,但我必须使用“Windows 身份验证”
我也尝试将网络共享设置为虚拟目录,但 PHP 没有找到该目录(phpinfo() 表示“虚拟目录支持”已禁用但我没有找到有关如何启用此功能的任何信息)
PS:我在 apache 服务器上尝试了相同的 PHP 配置,并且一切正常。 (使用“auth_sspi”模块和“reqire valid-user”指令)。但我必须在 IIS 上完成这项工作。
【问题讨论】:
-
我现在的解决方案是将物理路径的登录用户设置为有权访问网络共享的域用户。就我而言,这非常有效。