PHP不能写文件

标签 php apache file centos

我在 CentOS 上有一个 Apache HTTP 服务器,我安装了 PHP(yum install php),然后测试了一个将文本写入文件的简单脚本,所以我这样做了

$file = fopen($filename,"w") or die("Failure"); 

问题是它总是失败,即使我在其中执行了 chown apache:apache/var/www/html/*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”标志并在目录本身上调用它而不是 child ——那样的话,如果 PHP 必须创建文件,它就有权限这样做。

编辑:只是好奇为什么这有一个反对票——什么是“极其草率、不费吹灰之力的帖子,或者一个明显不正确且可能危险的答案。”?我告诉 OP 检查错误消息并以适当的递归方式设置它们的权限。

关于PHP不能写文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26241442/

相关文章:

apache - 转储所有片段

apache - org.apache.jasper.JasperException 异常

apache - Http/1.1 服务不可用

c - 找不到文本文件

php - Laravel artisan 优化不创建引导/编译

php - 如何在网络应用程序中显示和操作视觉对象?

c - C语言对字符串和文件的快速排序

python - 从文件中选择整个字符串 [python]

PHP支持一流的函数,是什么意思

PHPUnit::如何测试设置和获取 cookie 的功能?