Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Cannot send session cache limiter - headers already sent
 
 автор: 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

   
 
 автор: ddhvvn   (12.03.2007 в 17:54)   письмо автору
 
   для: 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

output_buffering = On

   
 
 автор: Eric   (12.03.2007 в 18:47)   письмо автору
 
   для: ddhvvn   (12.03.2007 в 17:54)
 

А у меня стоит там no value, это что значит???
А может он принимать значения 0 или 1???
0 - Off; 1 - On

Кстати
<? phpinfo(); ?>
это и есть просмотр php.ini ???

P.S. У меня на агавовском сервере у output_buffering стоит 0 и все работает!!! Почему так???

   
 
 автор: Booblik   (12.03.2007 в 19:10)   письмо автору
 
   для: 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)

   
 
 автор: Eric   (12.03.2007 в 19:19)   письмо автору
 
   для: Booblik   (12.03.2007 в 19:10)
 

К сожалению не помогло! Но помогло @ перед session_start();
А почему теперь на главной странице(куда вставляется footer.php) не выводятся данные, а на странице(footer.php) выводятся???

   
 
 автор: ddhvvn   (12.03.2007 в 19:47)   письмо автору
 
   для: Eric   (12.03.2007 в 19:19)
 

>К сожалению не помогло! Но помогло @ перед session_start();

... и не поможет! Полная чушь!
См. мой предыдущий пост!

   
 
 автор: Eric   (12.03.2007 в 20:19)   письмо автору
 
   для: ddhvvn   (12.03.2007 в 19:47)
 

А у меня стоит там no value, это что значит???
А может он принимать значения 0 или 1???
0 - Off; 1 - On

P.S. У меня на агавовском сервере у output_buffering стоит 0 и все работает!!! Почему так???

   
 
 автор: Ziq   (12.03.2007 в 19:58)   письмо автору
 
   для: Eric   (12.03.2007 в 17:46)
 

В файле /content/vhosts/mp3.name.ru/html/template/footer.php на 9 строке происходит вывод информации ( echo, print ), который может быть только после session_start()

   
 
 автор: Eric   (12.03.2007 в 20:05)   письмо автору
 
   для: 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.

   
 
 автор: Ziq   (12.03.2007 в 20:42)   письмо автору
 
   для: Eric   (12.03.2007 в 20:05)
 

Большой скрипт смотреть не стал.

Попробуйте сами буферизировать вывод, что-то типа

<? 
ob_start
();
/*
    Старый код
*/
echo ob_get_clean();
?>


2 пункт не очень понял...

   
 
 автор: Eric   (12.03.2007 в 21:37)   письмо автору
 
   для: Ziq   (12.03.2007 в 20:42)
 

Это тоже не помогло, кароч надо у сис-админа доступ к php.ini просить!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования