我在CentOS上安装了Apache HTTP服务器,安装了PHP(yum install php
),然后测试了一个简单的脚本,该脚本将文本写入文件中,因此我
$file = fopen($filename,"w") or die("Failure");
问题是,即使我在该目录中执行了“ a” chown apache:apache /var/www/html/*
或“ a” ,它始终都是失败的chmod 777 *
,所以有人知道一种了解/解决此问题的方法吗?
编辑:所以这里的问题是目录本身没有chown
没有PHP的实际错误消息,很难说是什么。
看看这个页面:
http://www.w3schools.com/php/php_error.asp
长话短说,创建并设置自定义错误处理程序,如下所示:
<?php //error handler function function customError($errno, $errstr) { echo "<b>Error:</b> [$errno] $errstr"; } //set error handler set_error_handler("customError"); //trigger error $file = fopen($filename,"w") ?>
对于您的情况,我认为为了使其能够在给定目录中创建新文件,您可能想在chmod或chown中添加“ -R”标志,并在目录本身而非子目录上调用它- -这样,如果PHP必须创建文件,则它具有这样做的权限。
编辑:很好奇为什么这会产生负面影响-什么是“草率的,毫不费力的帖子,或者答案显然是错误的,甚至是危险的”。我告诉OP检查错误消息并以适当的递归方式设置其权限。