|
|
|
| Подскажите, из-за чего эта ошибка? И возможно ли ее выличить?
Warning: Cannot send session cache limiter - headers already sent (output started at /content/vhosts/mp3.name.ru/html/template/footer.php:9) in /content/vhosts/mp3.name.ru/html/sources/session.php on line 41 | |
|
|
|
|
|
|
|
для: Eric
(12.03.2007 в 17:46)
| | Поздравляю!!! Вы миллионный человек, задавший этот вопрос на этом форуме!
Без лишних слов цитирую Хеопса (далее цитата):
Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода 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
| |
|
|
|
|
|
|
|
для: ddhvvn
(12.03.2007 в 17:54)
| | А у меня стоит там no value, это что значит???
А может он принимать значения 0 или 1???
0 - Off; 1 - On
Кстати это и есть просмотр php.ini ???
P.S. У меня на агавовском сервере у output_buffering стоит 0 и все работает!!! Почему так??? | |
|
|
|
|
|
|
|
для: Eric
(12.03.2007 в 17:46)
| | Насчёт ошибки
Warning: Cannot send session cache limiter - headers already sent (output started at /content/vhosts/mp3.name.ru/html/template/footer.php:9) in /content/vhosts/mp3.name.ru/html/sources/session.php on line 41
У меня нет доступа к этому файлу и я делаю так:
print("<div style=\"display: none\">");
session_start();
print(" </div>");
Это же не ошибка, а предупреждение, пускай предупреждает, только молча :0) | |
|
|
|
|
|
|
|
для: Booblik
(12.03.2007 в 19:10)
| | К сожалению не помогло! Но помогло @ перед session_start();
А почему теперь на главной странице(куда вставляется footer.php) не выводятся данные, а на странице(footer.php) выводятся??? | |
|
|
|
|
|
|
|
для: Eric
(12.03.2007 в 19:19)
| | >К сожалению не помогло! Но помогло @ перед session_start();
... и не поможет! Полная чушь!
См. мой предыдущий пост! | |
|
|
|
|
|
|
|
для: ddhvvn
(12.03.2007 в 19:47)
| | А у меня стоит там no value, это что значит???
А может он принимать значения 0 или 1???
0 - Off; 1 - On
P.S. У меня на агавовском сервере у output_buffering стоит 0 и все работает!!! Почему так??? | |
|
|
|
|
|
|
|
для: Eric
(12.03.2007 в 17:46)
| | В файле /content/vhosts/mp3.name.ru/html/template/footer.php на 9 строке происходит вывод информации ( echo, print ), который может быть только после session_start() | |
|
|
|
|
|
|
|
для: Ziq
(12.03.2007 в 19:58)
| | 1)Дело в том, что session_start() находится в файле session.php, который в свою очередь находится в другой дирректории, а вот файл footer.php оттуда толи че-то берет, толи инклюдится туда.
2)Почему все, что находится в файле footer.php можно просмотреть, если набрать в броузере в окне адреса полный путь в файлу, а когда он вставляется в index.php, то там полный ноль.
Файл index.php прилагаю. Скажите, что там может блокировать скрипты или их вывод??? Неужели во всем виноват output_buffering??? У меня в php.ini(<? phpinfo(); ?> ) стоит no value. | |
|
|
|
|
|
|
|
для: Eric
(12.03.2007 в 20:05)
| | Большой скрипт смотреть не стал.
Попробуйте сами буферизировать вывод, что-то типа
<?
ob_start();
/*
Старый код
*/
echo ob_get_clean();
?>
|
2 пункт не очень понял... | |
|
|
|
|
|
|
|
для: Ziq
(12.03.2007 в 20:42)
| | Это тоже не помогло, кароч надо у сис-админа доступ к php.ini просить! | |
|
|
|