【问题标题】:fopen won't open files across networkfopen 不会通过网络打开文件
【发布时间】:2011-02-21 22:04:27
【问题描述】:

我可以使用 fopen 打开本地文件,但无法通过网络在另一台机器上打开文件。我可以映射驱动器并查看文件,但无法使用 fopen 打开它们。

【问题讨论】:

  • 总是有错误信息告诉你出了什么问题。
  • 请提及您正在使用的操作系统和网络服务器(如果脚本不是从 CLI 运行的),因为这可能非常相关。
  • @wimvds:非常好,因为他提到了“映射驱动器”。
  • @Josh 是的,如果他在 Windows 上使用 Apache 并使用默认用户(本地系统帐户,没有任何网络权限)运行,这可能是权限问题。
  • 如果您在 MSWindows 平台上运行 - 那么是的,IIS 似乎神秘地通过 NTLM 继承权限 - 它没有记录 (AFAICT),并且由于各种原因而成为一场噩梦。 Windows 上的 Apache 将以默认用户身份运行。

标签: php fopen


【解决方案1】:

假设您在 Windows 上运行 Apache(因为您谈到“映射”驱动器):

如果您在安装过程中使用默认设置,那么 apache 将使用本地系统帐户运行,该帐户没有任何网络权限。因此,您必须确保它以可以访问网络驱动器的(域)用户身份运行。您可以通过控制面板、管理工具、服务更改此设置(右键单击 Apache,选择属性并在登录选项卡上选择一个用户)。

【讨论】:

    【解决方案2】:

    为了打开远程文件,您需要启用 php.ini 设置“allow_url_fopen”。你的设置是这样的吗?

    【讨论】:

    • 我遇到了同样的问题,并且启用了allow_url_fopen。
    猜你喜欢
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多