我试图将 php 文件写入驻留在同一文件夹中的文件。php文件和它试图写入的文件都将它们的权限设置为777(它是一个linux服务器)以及它们所在的文件夹。每当我用'w'或'w+'模式调用fopen()时,该函数只返回false。它在我学校的网络服务器上,所以我无法获得 root 访问权限来将文件的所有者更改为与 apache 相同的用户。有谁知道出了什么问题?
更新:作为测试,我正在使用以下代码:
$handle = fopen("test.txt", 'w');
if($handle === FALSE)
echo "\nfailed";
else
echo "\nsuccess";
fclose($handle);
现在启用错误报告的输出是:
Warning: fopen(test.txt) [function.fopen]: failed to open stream: Permission denied in /<snip>/public_html/test.php on line 58
failed
Warning: fclose(): supplied argument is not a valid stream resource in /<snip>/public_html/test.php on line 63
上面是我从 php 网站复制的一些代码,用于检查文本文件权限的 fileperms() 函数及其报告 -rwxrwxrwx
相关文件的 ls -al 输出为
ls -al *test*
-rwxrwxrwx 1 mag5 30 1475 Dec 9 00:02 test.php*
-rwxrwxrwx 1 mag5 30 8 Dec 8 14:54 test.txt*
我也不确定这是否重要,但我的学校使用称为 Andrew 文件系统(http://en.wikipedia.org/wiki/Andrew_File_System)的东西。