【问题标题】:fopen() failure on external server外部服务器上的 fopen() 失败
【发布时间】:2014-05-19 17:27:09
【问题描述】:

我创建了这个使用 mySQL 数据库并在服务器上创建文件的 CMS 系统。

数据库端按预期工作,但文件的创建不太好。

在我的本地主机上一切正常,但文件的创建在外部 WWW 服务器上无法正常工作。 我创建了一个基本脚本来测试服务器上 fopen() 的功能。这已经正常工作,但对于真正的脚本它不起作用。

这是真实脚本中的代码:

if(fopen(strtolower("../News/" . $titleURL . ".php"), "w+")){
    $createdPage = fopen(strtolower("../News/" . $titleURL . ".php"), "w+");
    echo "page created";
}else{
    echo "creation failed";
}

当这个页面运行时,我得到创建失败。

这段代码在本地主机上运行良好,但为什么在外部站点上却不行?

编辑:

我的托管服务没有阻止 fopen()

【问题讨论】:

  • 您的网络服务器有文件写入权限吗?
  • 我愿意,我已经使用测试基本脚本对此进行了测试。它只是不适用于这个特定的文件。
  • 您的主机是否有可能阻止fopen 命令?
  • 请执行以下操作: 1.) 删除整个“if else”语句并将其替换为: fopen(strtolower("../News/" . $titleURL . ".php"), " w+") 这将在 PHP error_log 中生成一个错误,请更新您的问题以包含该错误。

标签: php content-management-system fopen


【解决方案1】:

很可能您的主机服务器(和/或目标服务器)的配置不允许在外部服务器上/由外部服务器进行任何文件操作。

【讨论】:

    【解决方案2】:

    问题已解决。我刚刚清理了一些代码,清理了很多连接的 URL。看来服务器不喜欢我连接文件位置。一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-24
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      • 2017-04-04
      相关资源
      最近更新 更多