我有一个PHP文件,包含以下结构:
<html>... headers, scripts & styling
... some html here
<?php
if($_GET['v'] == 1)
{
?>
... html code here ...
<?php
}
else
{
?>
... html code here ...
<?php
}
?>
</html>
有时文件只加载一半,例如,如果v=1
加载到屏幕上的内容(如果我同时检查View Source
)是这样的:(相对于我上面的例子)< / p>
<html>... headers, scripts & styling
... some html here
... html cod
如您所见,代码随机切断。没有什么明显的外壳,如循环或任何东西。它发生在HTML代码的中间,而不是<?php ?>
标记内。
看起来好像服务器只是决定在那里停止通信 - 然后无缘无故。它每次都发生在一个不同的随机位置,有时加载完全正常。
它也只发生在我的共享主机帐户上,而不是localhost
上。
有什么简单可能导致这个吗? 有没有人以前经历过这个?
答案 0 :(得分:2)
您的代码会产生警告(显然是无声的),但在此处失败:
if($_GET['v'] == 1)
如果查询字符串中没有给出v
参数。
这样做:
if(isset($_GET['v']) && $_GET['v'] == 1)
如果您正在运行旧版本的PHP,则必须为这两个条件中的每一个创建两个单独的if语句。
答案 1 :(得分:2)
确保您已启用display_errors
。
ini_set('display_errors',1);
只是为了确保没有什么可怕的错误。