页面在PHP include()函数后停止渲染

时间:2013-01-24 19:10:21

标签: php include server-side-includes

基本上我正在使用PHP为我的网站创建一个基本的CMS。我正在尝试编写一个从CSV文件创建SPRY导航栏的脚本,但是当服务器到达调用脚本的include()函数时,它会停止渲染。我检查了Apache错误日志,那里没有任何内容,也在脚本的开头我回复了HTML注释,但是这没有出现在页面源代码中,所以看起来它甚至都没有启动跑步?关于它可能是什么的任何想法?

模板头文件(主页文件中包含PHP,工作正常):

<div id="header">
<div style="float:left; height:inherit;"><a href="/"> <img src="/uploads/logo.png height="150px" alt="Bradfield &amp; Bentley" /> </a> </div>
<div style="float: right;"></div>
<div id="navigation" style="clear:both;">
<p></p>
  <ul id="MenuBar1" class="MenuBarHorizontal">
    <?php include($_SERVER['DOCUMENT_ROOT'].'/templatefiles/navigation.php'); ?>
  </ul>
</div>
</div>
<div id="contain">
<div id="spacer">
<p></p> 
</div>

'navigation.php'文件(服务器在包含时停止渲染的文件):

<?php
echo "<!-- File Opened -->";
$row = 1;
if (($handle = fopen($_SERVER['DOCUMENT_ROOT'].'/templatefiles/navigation.csv', "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        $row++;
        echo "<li><a href=\"".$data[$2]."\">".$data[$1]."<a/><li><BR/>";
    }
    fclose($handle);
}

?>

3 个答案:

答案 0 :(得分:1)

尝试

error_reporting(E_ALL);
ini_set('display_errors',1);

“脚本中有错误”的替代方法可能是,你有一个无限循环并到达memory_lmit并且线程被杀死。

答案 1 :(得分:0)

因为此文件有语法错误

  echo "<li><a href=\"".$data[$2]."\">".$data[$1]."<a/><li><BR/>";

您不能拥有数字变量名称。如果您希望访问$data[2]数组的索引,则应为$data

答案 2 :(得分:0)

当页面停止渲染时,这意味着致命的php错误。但是,包含不会引发致命错误,只是警告。你可能在那个php文件中有一些错误。