【问题标题】:PHP fwrite() cannot write to subdirectoryPHP fwrite() 无法写入子目录
【发布时间】:2014-07-09 19:00:37
【问题描述】:

我的网站位于/var/www/html/hs/,我有我的update.php。它应该写信给/var/www/html/hs/json/myFile.json,但它没有。当我尝试写入 update.php 的同一目录时,似乎没有出现任何问题。

update.php 文件编写代码部分的事情:

$fileJSON = fopen("json/$fileName.json", "w");
fwrite($fileJSON, $JSONE);
fclose($fileJSON);

我(相信)已经通过sudo chown -R myName /var/www/ 给了自己必要的权限。

系统:Linux ubuntu 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64

PHP 版本 5.5.9-1ubuntu4

Apache 版本 Apache/2.4.7 (Ubuntu)

【问题讨论】:

  • json 目录是否存在?如果没有,则需要创建它。
  • 检查您的错误日志!
  • 该目录确实存在,我 /var/log/apache2/error.log 也没有任何东西。尽管如此,显然 chmod 确实对我有用:D 无论如何谢谢

标签: php apache ubuntu


【解决方案1】:

如果json/ 目录不存在,您需要创建它:

if (!is_dir('json'))
    mkdir('json');

【讨论】:

    【解决方案2】:

    我认为您没有必要的权限。检查您的 error_log 对此有何评论!

    你不应该chown 使用你自己的用户名,而是使用运行 Apache 的用户名。 (使用ps -aux | grep httpd 来查看它是哪个用户。一旦chowned,如果您没有root 权限,您可能无法访问该目录。

    你可以做的另一件事是chmod你想要写入的目录777

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-14
      • 2018-04-30
      • 2015-03-08
      • 2013-10-17
      • 1970-01-01
      相关资源
      最近更新 更多