我有一个非常简单的 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 服务器?
告诉我是否需要透露更多信息或代码。
谢谢。