【问题标题】:How to fix "permission denied" error on online server?如何修复在线服务器上的“权限被拒绝”错误?
【发布时间】:2013-10-22 23:49:34
【问题描述】:

我有一个非常简单的 php 网站,Projectx2,我从 Zymic 服务器托管它,因为它有很好的收视率。

但是,我在本地托管的 XAMPP 服务器上遇到了一些不寻常的错误。

错误是:

警告 无法修改标头信息 - 中已发送标头(输出开始于 /www/zzl.org/p/r/o/projectx2/htdocs/default.php:259) >/www/zzl.org/p/r/o/projectx2/htdocs/default.php295 行。

和:

警告: fopen (count.txt) [function.fopen]:无法打开流:/www/zzl.org/p/r/o/projectx2/ 中的权限被拒绝htdocs/default.php298

和:

警告: fwrite():提供的参数不是 /www/zzl.org/p/r/o/projectx2/htdocs/default.php 中的有效流资源 上线 299

和:

警告: fclose():提供的参数不是 /www/zzl.org/p/r/o/projectx2/htdocs/default.php 中的有效流资源 上线 300

在这里,我有一个简单的计数器,可以将页面计数保存在文件count.txt 中,该文件也在服务器上。

这是我从 290 到 302 的代码:

<?php
    $fp = fopen('count.txt','r');
    $count = fread($fp,filesize('count.txt'));
    fclose($fp);
    if(!isset($_COOKIE['count'])) {
        setcookie('count');   // 295
        $count++;
    }
    $fp = fopen('count.txt','w'); // 298
    fwrite($fp,$count);           // 299
    fclose($fp);                  // 300
    echo "<div id='hitcount'>$count views</div>";
?>

我不知道为什么会这样——我对 PHP 中的 I/O 知之甚少,但我对 Java 有一些了解。您能否向我解释一下这段代码中的问题,以及为什么它只能在普通服务器上运行?

或者,它只是 Zymic 服务器?

如果我需要透露更多信息或代码,请告诉我。

谢谢。

【问题讨论】:

  • Permission denied 通常表示您没有权限。随后的错误由此而来。
  • 我要问的是:我如何获得许可?
  • 与您的托管公司交谈,或者您可以通过他们提供的任何方式(cpanel、ftp、RDP、SSH 等)设置文件夹的权限。它是Linux主机吗?您如何将文件复制到服务器?

标签: php file-io


【解决方案1】:

一个接一个:

无法修改标头信息 - 标头已发送:表示 PHP 脚本在开始发出页面后尝试修改 HTTP 标头。由于您尚未发布相关代码,因此我无法提供更多信息。

权限被拒绝 表示网络服务器用户无权以您希望的方式访问文件。与您的托管公司讨论您如何授予该权限。所有后续的错误都源于这个问题。

批评我的网站设计:不——这个网站是关于软件开发的重点问题,而不是关于布局或配色方案的意见。

【讨论】:

  • 我现在明白的第一点——我已经开始打印内容了。我将遵循第二点。我会记住第三句话。谢谢!
【解决方案2】:

使用像 FileZilla 这样的 FTP 客户端连接到您的网站,然后找到文件 count.txt 并右键单击然后 -> 属性并将权限设置为 0777

【讨论】:

  • 你知道0777是什么意思吗?
  • 一些主机系统不允许使用 0777,因为它存在安全风险。这是一种授予权限的大锤方法,并将大锤交给任何偶然发现它的潜在黑客。
  • 0777 = 允许任何人完全读/写该文件以供 php - 但这是个坏主意。尝试使用0666 之类的东西,如果失败,请使用0777
  • 避免0777(如果可以的话),它会提供太多权限。通常07550744 会运行得很好。不需要执行的文件更少:0644
猜你喜欢
  • 1970-01-01
  • 2015-02-02
  • 2018-07-28
  • 1970-01-01
  • 2021-11-24
  • 1970-01-01
  • 1970-01-01
  • 2013-07-07
  • 2019-03-15
相关资源
最近更新 更多