PHP无法写入文件,即使它具有777权限

Tel*_*nor 1 php file-permissions

我试图让一个PHP文件写入驻留在同一文件夹中的文件.无论是php文件和它试图写有自己的权限设置为777的文件(其Linux服务器)以及它们所在的文件夹.每当我叫fopen()函数与"W"或"W +"模式,该函数只返回false.它在我学校的网络服务器上,所以我无法获得root权限,可以将文件的所有者更改为与apache相同的用户.有谁知道什么是错的?

更新:作为测试,我使用此代码:

$handle = fopen("test.txt", 'w');
if($handle === FALSE)
    echo "\nfailed";
else
    echo "\nsuccess";
fclose($handle);
Run Code Online (Sandbox Code Playgroud)

现在启用错误报告的输出是:

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
Run Code Online (Sandbox Code Playgroud)

上面是我从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*
Run Code Online (Sandbox Code Playgroud)

我也不确定这是否重要,但我的学校使用的是一个名为Andrew File系统的东西(http://en.wikipedia.org/wiki/Andrew_File_System).

Mad*_*der 5

Telanor,AFS是一个非常大的线索.

AFS(安德鲁文件系统)具有超出传统unix文件系统的整个目录权限级别.检查目录上的AFS权限,以确保您能够访问目录中的文件.此外,它可能不是您的权限,而是Web服务器的权限(或者更确切地说是在其下运行的用户标识).自从我使用AFS以来已经很长时间了,因此我不知道检查目录权限的命令.