PHP fopen 权限被拒绝 - Windows 远程服务器

PHP fopen Permission Denied - Windows Server remotely

我在 Windows Server 2012 和 Xampp 1.8.2 中有一个 PHP 项目。我试图从另一个带有 IIS 的 Windows Server 2008 读取一些远程 HTML 内容:

$handle = fopen("\\SERVER001\Webdocs\page\index.html", 'r');

...但我收到了这条消息:

Warning: fopen(\SERVER001\Webdocs\page\index.html): failed to open stream: Permission denied in ...

但是如果我使用文件协议访问,工作正常:

file://///SERVER001/Webdocs/page/index.html

我在 IIS 的 ipv4 address and domain restrictions 选项中添加了 IP 服务器,我得到了相同的结果。

我认为是 Windows Server 2012(或 apache)的问题,因为我在我的 PC Windows 7 中测试了相同的项目(localhost),相同的 xampp 1.8 .2.,我已经在 2008 服务器的 ipv4 address and domain restrictions 中添加了我的 IP,并且 fopen() 可以正常工作并且没有额外的配置。服务器和我的 PC 的唯一区别是 OS.

我还需要做什么才能获得此服务器的权限?

权限:

我发现了问题:

apache service in netstat running like a local user

我的PC和Windows服务器的区别是我的Xampp的Control没有安装apache服务。安装后,Apache 服务 运行 就像本地用户(不像活动目录域中的用户)。

因此有必要在以下位置分配域用户:

Services > Apache > Properties > Log On tab > This account

重新启动 Apache 并工作!

听起来您将网络服务器设置为本地。同时检查文件权限