我在我的系统上安装了fedora15,安装了apache和php5.3以及mysql。我没有更改任何配置文件中的任何默认设置
创建了一个 ftpuser 并将文件上传到“/var/www/html/”的 Documentroot,当我运行 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 权限。
请任何人帮助我解决这个奇怪的问题,
提前致谢。
最佳答案
SELinux 正在阻止 Web 服务器创建和写入文件。有关详细信息,请参阅 httpd_selinux(8)
手册页。
关于php - Linux 文件上传,fwrites,不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12561948/