Php 无法创建文件

Php file creation doesn't work

我的网络服务器是 运行 和 daemon。我知道安全等等,但请暂时忽略它。我的问题是我已经完成了:

> chmod 777 /web/htdocs/olivier/wogwog/transit/02.done
> ls -al /web/htdocs/olivier/wogwog/transit
drwxrwxrwx 2 hqfdev hqfdev  36K Jan 17 14:41 02.done

所以该目录属于用户hqfdev/组hqfdev。 这是我的 Php 代码:

$tmp_name='/web/htdocs/olivier/wogwog/transit/02.done/caca.txt';
if (($handle=@fopen($tmp_name, 'w'))!==false) {
    fclose($handle);
    error_log('OOOOOOOOOK');
} else {
    error_log('error');
}

我一直在我的日志中看到这个:

[snip] [:error] [snip] current running = daemon, referer: http://www.blabla/
[snip] [:error] [snip] PHP Warning:  fopen(...): failed to open stream: Permission denied in /blabla.php on line 5, referer: http://www.blabla/
[snip] [:error] [snip] error, referer: http://www.blabla/

因此尝试创建文件的进程是 daemon,它无法写入属于 hqfdev 的 777 文件夹。 (*.*)。我完全被卡住了,因为我已经这样做了十亿次并且成功了。 供您参考,如果我 ssh 我的服务器,以 hqfdev 身份登录并启动该脚本 "by hand",它就可以工作。 可能是什么问题(当然还有解决方案)?

我找到了解决方案:父文件夹没有将权限授予其子文件夹:


配置无效

$ ls -al /web/htdocs/olivier/wogwog
drwx------ hqfdev hqfdev transit
$ ls -al /web/htdocs/olivier/wogwog/transit
drwxrwxrwx hqfdev hqfdev 02.done

现在有效的配置:

$ ls -al /web/htdocs/olivier/wogwog
drwxr-xr-x hqfdev hqfdev transit
$ ls -al /web/htdocs/olivier/wogwog/transit
drwxrwxrwx hqfdev hqfdev 02.done

...纯Unix知识匮乏...