gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 01:03:21 26 4
gpt4 key购买 nike

我正在尝试将 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) 的东西。

最佳答案

Telanor,AFS 是一个很大的线索。

AFS(安德鲁文件系统)拥有超越传统 unix 文件系统的完整目录权限级别。检查目录的 AFS 权限以确保您能够访问目录中的文件。此外,重要的可能不是您的权限,而是网络服务器的权限(或者更确切地说是它运行的用户 ID)。很久没用AFS了,不知道检查目录权限的命令。

关于PHP即使具有777权限也无法写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1870875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com