我有一个非常简单的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服务器吗?
告诉我是否需要透露更多信息或代码。
感谢。
答案 0 :(得分:1)
一个接一个:
无法修改标头信息 - 已发送的标头:表示PHP脚本在已开始发送页面后尝试修改HTTP标头。我无法提供更多信息,因为您尚未发布相关代码。
权限被拒绝表示Web服务器用户无权以您希望的方式访问该文件。与您的托管公司讨论您如何授予该权限。所有后续错误都来自这个问题。
批评我的网站设计:不 - 这个网站是关于软件开发的焦点问题,而不是关于布局或配色方案的意见。
答案 1 :(得分:0)
使用像FileZilla这样的FTP客户端连接到您的网站,然后找到文件count.txt
并右键单击然后 - >&gt;属性并将权限设置为0777