Страница останавливается рендерингом после функции PHP include()

По сути, я пытаюсь использовать PHP для создания базовой CMS для моего сайта. Я пытаюсь написать скрипт, который создает панель навигации SPRY из файла CSV, но сервер останавливает рендеринг, когда достигает функции 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 ответа

Попробуйте это с

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

альтернатива "иметь ошибку в вашем скрипте" может заключаться в том, что у вас есть бесконечный цикл и вы достигаете memory_lmit и поток уничтожается.

Когда страница перестает отображаться, это означает фатальную ошибку php. Включение, однако, не вызывает фатальную ошибку, только предупреждение. Возможно, у вас есть ошибка в этом файле php.

Поскольку этот файл имеет синтаксическую ошибку

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

Вы не можете иметь числовые имена переменных. Так должно быть $data[2] если вы хотите получить доступ к этому индексу $data массив.

Другие вопросы по тегам