Пришел к чему-то странному, перейдя на мой новый сервер.Able to Echo перед заголовком()
У меня есть сценарий, который перенаправляет пользователей на другую веб-страницу на основе определенных условий. Однако то, что я делал, повторяет «Перенаправление ...», а затем использует функцию header() для фактического перенаправления. Вот как код выглядел:
if($condition) {
echo 'Redirecting...';
header('Location: ' . $url);
}
Теперь я только заметил, что это неправильно, после перехода на наш новый сервер, испытанного его, и увидел, что он не будет перенаправлять только выходное Перенаправление ... и однажды я об этом узнал, вы не можете получить какой-либо вывод (если не использовать ob_start и т. д.) перед использованием функции header().
Вопрос в том, почему этот код, который НЕ должен работать в ЛЮБОЙ установке PHP, работает на моем старом сервере? Он будет перенаправлять с эхом перед заголовком() без проблем.
Спасибо!
Я считаю, что вы можете включить буферизацию вывода по умолчанию в вашем php.ini. Нижняя сторона - это весь запрос, который должен быть заполнен до того, как какой-либо вывод будет отправлен пользователю. – meagar