具有777权限的文件上的fopen权限被拒绝

per*_*000 7 php fopen file-permissions

由于这篇文章的标题几乎是不言而喻的,所以我将跳转到以下代码:

echo sprintf('%o', fileperms('test.txt'))."<br/>";

fopen("test.txt", "w");
Run Code Online (Sandbox Code Playgroud)

有了这个我得到:

100777
fopen(test.txt): failed to open stream: Permission denied
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

编辑:问题解决:服务器上有访问控制列表,配置不正确。

谢谢 !

Dan*_*itz 5

我认为您可能对文件具有写/读权限,但对文件夹没有权限。在网站的公共根目录中尝试此操作,看看是否可以读取或写入文件。

对于安全模式(http://php.net/manual/zh/function.fopen.php),php doc表示以下内容:

注意:启用安全模式后,PHP会检查脚本运行所在的目录是否与正在执行的脚本具有相同的UID(所有者)。

最后,您还需要确保php可以访问您要写入的文件夹。