我在我的系统上安装了fedora15,安装了apache和php5.3以及mysql。我没有更改任何配置文件中的任何默认设置
创建了一个ftpuser并将文件上传到Documentroot,即'/ var / www / html /',当我运行php文件时,所有文件都成功运行。
但是当谈到文件上传,fopen,fwrite,imagemagick转换等所有涉及以编程方式创建文件的程序都不起作用。我已经为我运行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权限。
请任何人帮助我这个奇怪的behaiour,
提前致谢。
答案 0 :(得分:1)
SELinux阻止Web服务器创建和写入文件。有关详细信息,请参阅httpd_selinux(8)
手册页。