我在Windows Server 2012中有一个PHP项目& Xampp 1.8.2.我试图从另一个带有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地址和域限制选项中添加了IP服务器,我得到了相同的结果.
我认为是Windows Server 2012(或apache)的问题,因为我在我的PC Windows 7中测试了同一个项目(localhost),xampp 1.8.2.我已经在ipv4地址和域名限制中添加了我的IP在2008 Server和fopen()工作没有问题和额外的配置.与服务器和我的PC的唯一区别是操作系统.
我有什么办法在这台服务器上获得许可?
权限:
解决方法:
我发现了问题:
apache service in netstat running like a local user
我的PC和Windows Server之间的区别是我的Xampp的Control没有安装apache服务.安装它时,Apache服务像本地用户一样运行(而不像活动目录域中的用户).
因此有必要将域用户设置为:
Services > Apache > Properties > Log On tab > This account
重启Apache并正常工作!