2011-02-10 2 views
2

У меня следующая ошибка сеанса Zend с моим ZEND проекта:Zend Session Фатальная ошибка

Fatal error: Uncaught exception 'Zend_Session_Exception' with message 'Zend_Session::start() - /home/besthomes/public_html/Zend/Session.php(Line:426): Error #2 session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at /home/besthomes/public_html/Zend/Exception.php:1) Array' in /home/besthomes/public_html/Zend/Session.php:432 Stack trace: #0 /home/besthomes/public_html/index.php(47): Zend_Session::start() #1 {main} thrown in /home/besthomes/public_html/Zend/Session.php on line 432 

Я написал этот код в загрузочном файле:

include('include.php'); 
include "Zend/Loader.php"; 

Zend_Loader::registerAutoload(); 
Zend_Session::start(); 

я не мог знать причину для этой ошибки. пожалуйста, помогите выйти из этой проблемы. Спасибо.

ответ

2

Проверьте, нет ли у вас дополнительных символов в ваших файлах. Например -
этот код не вызовет ошибку:

<?php 
session_start(); 

но один будет:

(blank line here!) 
<?php 
session_start(); 

То же самое относится и к включаемым файлам. Но, когда вы включаете файлы, вы также должны заметить, что у вас нет дополнительных строк после тега clossing (если вы их используете). Это будет работать:

<?php 
    //content of included file 
?> 

но что-то вроде этого не будет:

<?php 
    //content of included file 
?>  
(blank line here!) 
(!and here) 

Так вот почему некоторые люди считают not using closing tag in php scripts хорошей практикой.

Вы также можете обойти эту проблему с помощью ob_start и ob_end_flush, но как я уже сказал - это обходной, не решение.

2

Где-то в вашем коде выполняется некоторый вывод, на который PHP отправит HTTP-заголовки. Поскольку HTTP-заголовки уже отправлены, они не могут быть отправлены повторно при попытке начать сеанс. Если вы хотите использовать сеансы, начинать сеанс рано или сначала, это хорошая идея.

С другой стороны, я видел эту ошибку, когда мое приложение выводит отдельную ошибку, тем самым отправляя заголовки HTTP.

Пожалуйста, посмотрите на документы для получения дополнительной информации: http://framework.zend.com/manual/en/zend.session.html

А именно раздел под названием «Старт сессии»: http://framework.zend.com/manual/en/zend.session.advanced_usage.html

Совет: Remove/закомментируйте строки, которые начинаются на сессии , и посмотреть, что выводится. Может возникнуть другая ошибка, даже не связанная с вашим кодом.

+0

thanx, но эта ошибка возникает, когда в моем файле начальной загрузки был добавлен какой-то вредоносный код, хотя я удалил этот код, но я не знаю, почему эта ошибка возникает, когда один и тот же код работал отлично до нескольких дней в файле начальной загрузки , – Shaily

+0

Я думал, что это может быть связано с кешем? – Shaily

+0

Пробел перед открытием тега php? – opHASnoNAME

Смежные вопросы