|
|
|
| Я очень часто в своей работе использую функцию header. На одном сервере скрипты работают нормально, а на другом выдает ошибку Cannot add header information - headers already sent by...
Меня интересует, это проблема настройки РНР? Если да, то как ее можно решить? | |
|
|
|
|
|
|
|
для: Саша
(18.10.2005 в 18:22)
| | Нет, это не проблема настройки php. Это фраза означает, что вы уже послали заголовок. Что ты вывели на экран. Или у вас перед тегом <? есть пустое место или пустая строка, а этого не должно быть. | |
|
|
|
|
|
|
|
для: Саша
(18.10.2005 в 18:22)
| | Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.
http://www.softtime.ru/group/id_group=12
http://www.softtime.ru/forum/ead.php?id_forum=1&id_theme=147
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=148
В вашем случае такая буферизация скорее всего была включена в конфиграционном файле php.ini, но по умолчанию, да и на большинстве хостингов она отключена. Если вы имеете доступ к конфигурационному файлу php.ini вы можете включить её сново
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=8484 | |
|
|
|
|
|
|
|
для: cheops
(18.10.2005 в 21:23)
| | Спасибо :-)
Но проблема в том, что на одном сервере все работает нормально, а на другом нет. Т. е. одни и те же скрипты работают по-разному на разных серверах... На одном никаких предупреждений о заголовках, а на другом выскакивает, что заголовок уже был послан! Почему такая не справедливость?:-) | |
|
|
|
|
|
|
|
для: Саша
(19.10.2005 в 10:02)
| | Может сообщение об ошибки не выводится потому что установлено подавление вывода ошибок? | |
|
|
|
|
|
|
|
для: multiBrain
(19.10.2005 в 10:56)
| | нет, ошибки выводяться, я смотрел... | |
|
|
|
|
|
|
|
для: Саша
(19.10.2005 в 10:02)
| | Да, на одном сервере включена директива output_buffering, а на другом нет... для переносимости следует всегда ориентироваться на выключенную директиву output_buffering. | |
|
|
|
|
|
|
|
для: cheops
(19.10.2005 в 14:14)
| | Спасибо, разобрался!!! | |
|
|
|