无法打开文件。 /var/www 应该有什么所有者?

发布于 2024-11-06 04:01:23 字数 431 浏览 2 评论 0原文

我使用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-数据?

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

提前致谢。

I use Ubuntu 11.04.
My /var/www has owner and group shin (which is my name)

I used a simple 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);

But it gives an error of 'can't open file'.

Does it relate to the owner and group of www directory?
Should it be root? or www-data?

If owner is nothing to do, then the code give an error?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

眼眸印温柔 2024-11-13 04:01:23

您应该提供 fopen 的完整路径,而不仅仅是文件名,并确保运行 php 代码的用户也具有写入权限(chmod 为 666)。

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

You should give a complete path to fopen, not only a file name and assure the user which is running the php code has also write permissions (chmod to 666).

$myFile = "/var/www/testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
十年不长 2024-11-13 04:01:23

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

error_reporting(-1);

fopen returns a warning if it fails, turn on error reporting to get more details about your error. Add the following line before your block of code.

error_reporting(-1);
奶气 2024-11-13 04:01:23

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

Assuming you're running a Web server (like Apache), the owner of the server process must have permission to write to the file, as you are opening in 'w' mode. This doesn't have to be based on ownership; it could also be done by mode. To learn about file modes, run: man chmod.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文