【发布时间】:2011-02-23 10:45:27
【问题描述】:
我正在尝试使用 PHP 创建一个文件,但它不起作用。我假设这是因为它没有写访问权限(以前一直是问题)。我试图通过将文件夹设置为 chmod 0777 来测试这是否是问题所在,但这最终导致该目录中的每个脚本都返回 500 错误消息,直到我将其更改回来。 如何授予 PHP 对我的文件系统的写入权限,以便它可以创建文件?
编辑:它使用 Apache 托管在 Hostgator 共享主机上。
编辑 2:有人要求提供代码: 该代码是一个 GD 图像脚本。我知道它的其余部分像以前一样工作,我每次调用它时都会创建图像。现在我正在尝试在添加新文本时创建它们并将它们保存到文件夹中。我的写行是: imagejpeg(null,$file,85);
我还创建了一个测试文件来检查它是否只是一个损坏的脚本(主要是从 tizag 复制的): http://gearboxshow.info/rkr/lesig.jpg/testfile.txt(我不知道是否/如何在此处正确发布代码。这是 PHP 脚本的内容,减去 PHP 标记。)
它返回 13,13,1(单独的行),所以它看起来好像它认为它写了一些东西,但是 testfile.txt 是空白的(我上传了一个空白的),或者不存在(如果我删除它)。
编辑 3:服务器运行 CentOS。
【问题讨论】:
-
这是您控制的服务器还是您在共享服务器上?
-
Hostgator 共享主机。阿帕奇。
-
服务器运行在什么操作系统上?如果是 Linux,您应该确保 apache 用户(确切的用户名将取决于您的设置 - 在 Linux 下通常是 httpd 或 www-data)具有对该目录的写入权限。您可以将所有者更改为与 apache 相同的用户(使用 chown)并设置为所有者提供写入权限(例如“chmod 755”),或者您可以将其设为全局可写(例如“chmod 777”)。
-
@El Yobo:不要让它成为 777 ......请让我们对 chmod 保持理智。
标签: php file-permissions chmod