как работает заголовок в php? - PullRequest
6 голосов
/ 19 августа 2010

Проходя по сайту php.net, у него был пример для заголовка, который говорит, что даст мне ошибку.Я скопировал его и запустил на WAMP, но он не показал мне никакой ошибки, но перенаправил на сайт.

<html>
<?php
/* This should give an error (but it doesn't!). Note the output
 * above, which is before the header() call */
header('Location: http://www.example.com/');
?>

Просто хотел узнать, правильное ли поведение на моем WAMPили это ошибка, или если у меня есть какие-то конкретные настройки, активные в файле php.ini, который делает эту работу !!!.Дайте мне знать, если кому-то понадобится скопировать мой php.ini сюда !!

Спасибо, Танмей

Ответы [ 2 ]

4 голосов
/ 19 августа 2010

Звучит так, как будто у вас включен output_buffering.

http://php.net/manual/en/outcontrol.configuration.php

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

0 голосов
/ 19 августа 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...