В своем комментарии вы говорите, что ваш код:
<?php require_once("header.php") or die; ?>
пожалуйста, попробуйте опустить "или умри" -> ist не обязательно, потому что require_once вызовет фатальную ошибку, если файл не найден.
Edit:
Я проверил это, пропустите "или умри", и оно будет работать.
Редактировать 2: Объяснение, почему это произошло:
Приведенный выше код также можно записать так:
require_once ( ("header.php") or die() );
Поскольку require_once не является функцией, а выражением в php, фигурные скобки являются необязательными, php интерпретирует вышеупомянутое как логическое выражение, где строка «header.php» оценивается как логическое «true». Значение True преобразуется в строку (в результате получается «1»), и эта строка возвращается, чтобы потребовать один раз.
Таким образом, приведенный выше код интерпретируется как
require_once("1")
Вот как это интерпретируется шаг за шагом:
(("header.php") or die()) = (TRUE or die())
(TRUE or die()) = TRUE
(string) TRUE = '1';
надеюсь, это поможет;)