0

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

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

错误是:

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

和:

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

和:

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

和:

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

在这里,我有一个简单的计数器,可以在文件中保存页数,该文件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 服务器?

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

谢谢。

4

2 回答 2

1

逐个:

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

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

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

于 2013-10-22T23:58:57.803 回答
0

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

于 2013-10-22T23:56:51.870 回答