如何修复在线服务器上的“权限被拒绝”错误?

时间:2013-10-22 23:49:35

标签: php file-io

我有一个非常简单的php网站Projectx2,我正在Zymic服务器托管,因为它有很好的评分。

但是,我在本地托管的XAMPP服务器上发生了一些不常见的错误。

错误是:

  

警告无法修改标题信息 - 已经发送的标题(输出从/www/zzl.org/p/r/o/projectx2/htdocs/default.php:259开始) /www/zzl.org/p/r/o/projectx2/htdocs/default.php 在线 295

  

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

  

警告: 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服务器吗?

告诉我是否需要透露更多信息或代码。

感谢。

2 个答案:

答案 0 :(得分:1)

一个接一个:

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

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

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

答案 1 :(得分:0)

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