Вот мой файл. Я хочу перенаправить его, но ничего не происходит. Чтобы проверить, что происходит, я добавил эхо перед частью заголовка.
Он не вызывает ошибку или не перенаправляет index.php. Что не так? Я включил / выключить буферизацию вывода, но ничто не делает перенаправление. Что я могу сделать?
<? error_reporting(E_ALL); echo 'This is an error'; header("Location: login.php"); die(); ?> благодаря
Из документации PHP :
  header() должен быть вызван до отправки любого фактического вывода либо с помощью обычных тегов HTML, пустых строк в файле, либо из PHP. 
  И в вашем случае вы используете echo перед header() 
Я напомнил себе, что у меня установлен xDebug на реальной тестовой среде, и после его поиска я нашел этот сайт: http://bugs.xdebug.org/view.php?id=532
Поэтому я загружу последнюю версию xDebug и изменил php.ini соответственно для нового файла, и все работает как шарм. Отправляются заголовки – выполняется redirecionion и отображаются ошибки.
Спасибо всем за вашу помощь!
  У вас есть короткие теги?  попробуйте с длинным тегом <?php : 
 <?php error_reporting(E_ALL); header("Location: login.php"); die(); ?> 
Включен ли display_errors?
@Gumbo – Это точно!
ну, конечно, нет. потому как
Чтобы проверить, что происходит, я добавил эхо перед частью заголовка.
  если вы включили display_errors, он отобразит ошибку, по крайней мере, когда вы turned output buffering on . 
  Поэтому прежде всего убедитесь, что вы видите сообщения об ошибках. 
  просто распечатайте неопределенную переменную, 
 error_reporting(E_ALL); echo $undef9306; 
Я уверен, вы не увидите этого. Таким образом, вы должны отображать ошибки на
  Далее, на стороне сервера вы можете использовать функцию headers_sent() чтобы увидеть, были ли отправлены заголовки.  На стороне клиента используйте сниффер HTTP, чтобы узнать, отправлено ли что-либо 
И проверьте свой файл для спецификации.