【发布时间】: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.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 服务器?
如果我需要透露更多信息或代码,请告诉我。
谢谢。
【问题讨论】:
-
Permission denied 通常表示您没有权限。随后的错误由此而来。
-
我要问的是:我如何获得许可?
-
与您的托管公司交谈,或者您可以通过他们提供的任何方式(cpanel、ftp、RDP、SSH 等)设置文件夹的权限。它是Linux主机吗?您如何将文件复制到服务器?