无法打开文件。 / var / www有哪些所有者?

时间:2011-05-09 16:54:36

标签: php fopen

我使用的是Ubuntu 11.04。 我的/ var / www有所有者和组shin(这是我的名字)

我使用了一个简单的fopen php

$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "Bobby Bopper\n";
fwrite($fh, $stringData);
$stringData = "Tracy Tanner\n";
fwrite($fh, $stringData);
fclose($fh);

但它会出现“无法打开文件”的错误。

它与www目录的所有者和组有关吗? 它应该是root吗?还是www-data?

如果所有者无事可做,那么代码会出错?

提前致谢。

3 个答案:

答案 0 :(得分:1)

你应该给fopen一个完整的路径,不仅是一个文件名,并确保运行php代码的用户也有写权限(chmod到666)。

$myFile = "/var/www/testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");

答案 1 :(得分:1)

fopen如果失败则返回警告,打开错误报告以获取有关错误的更多详细信息。在代码块之前添加以下行。

error_reporting(-1);

答案 2 :(得分:0)

假设您正在运行Web服务器(如Apache),则在'w'模式下打开时,服务器进程的所有者必须具有写入文件的权限。这不一定基于所有权;它也可以通过模式完成。要了解文件模式,请运行:man chmod