1

我已经在我的系统上安装了 fedora15,安装了 apache 和 php5.3 和 mysql。我没有更改任何配置文件中的任何默认设置

创建了一个 ftpuser 并将文件上传到 Documentroot,即“/var/www/html/”,当我运行 php 文件时,所有文件都成功运行。

但是当涉及到文件上传时,fopen、fwrite、imagemagick convert 等所有涉及以编程方式创建文件的程序都不起作用。我已经为运行 php 脚本的文件夹授予了 777 权限,但它仍然给了我访问被拒绝的错误。

以下是创建权限被拒绝错误的示例代码。

    $handle =   fopen("test.txt","w+");
    if(!$handle)die("Could not open file for writing");
    fwrite($handle,"Testing Uploads Successfull.");
    fclose($handle);

上面的文件位于我新安装的fedora15系统的'/var/www/html/test/'目录下。

虽然如果我使用 php 命令行以 root 用户身份运行此文件,它会正确执行创建一个新文件和其中的文本。如果我在命令行中与另一个用户运行相同的文件,则会产生权限被拒绝错误,尽管该目录已获得 777 权限。

请任何人帮助我解决这种奇怪的行为,

提前致谢。

4

1 回答 1

1

SELinux 阻止 Web 服务器创建和写入文件。有关更多详细信息,请参见httpd_selinux(8)手册页。

于 2012-09-24T12:27:38.523 回答