【问题标题】:PHP fopen Permission Denied - Windows Server remotelyPHP fopen 权限被拒绝 - 远程 Windows 服务器
【发布时间】:2015-06-16 08:38:13
【问题描述】:

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

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

...但我有这个消息:

警告:fopen(\SERVER001\Webdocs\page\index.html): 无法打开流:权限被拒绝...

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

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。我已经在@987654324 中添加了我的 IP @ 在 2008 Server 和 fopen() 工作没有问题和额外的配置。服务器和我的 PC 的唯一区别是操作系统。

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

权限:

【问题讨论】:

  • 文件权限是什么?
  • 完全控制……这有关系吗?因为我的电脑可以毫无问题地访问!
  • 更多类似 0777 的内容? 0644?
  • 如上图
  • 您是否关闭了两台机器的防火墙?你有任何open_basedir 限制吗?

标签: php iis permissions fopen


【解决方案1】:

我发现了问题:

netstat 中的 apache 服务像本地用户一样运行

我的 PC 和 Windows Server 的区别在于我的 Xampp 的 Control 没有安装 apache 服务。安装后,Apache 服务会像本地用户一样运行(而不像活动目录域中的用户)。

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

服务 > Apache > 属性 > 登录选项卡 > 此帐户

重启 Apache 即可运行!

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2020-09-30
      • 1970-01-01
      • 2011-08-01
      • 1970-01-01
      • 2015-12-01
      • 2018-07-23
      • 2018-01-11
      • 2016-07-08
      • 2011-11-10
      相关资源
      最近更新 更多