исключение "сеанс уже запущен ...." в приложении Zend Framework - PullRequest
11 голосов
/ 10 марта 2010

Я получаю эту ошибку при попытке загрузить приложение Zend Framework:

Неустранимая ошибка: необработанное исключение 'Zend_Session_Exception' с сообщением сессия уже была начата session.auto-start или session_start () ' в /www/htdocs/w00a1ed7/autospin/redaktion/library/Zend/Session.php:462

Трассировка стека:

# 0 /www/htdocs/w00a1ed7/autospin/redaktion/library/Zend/Session/Namespace.php(143): Zend_Session :: заводится (правда)

# 1 /www/htdocs/w00a1ed7/autospin/redaktion/library/Zend/Auth/Storage/Session.php(87): Zend_Session_Namespace -> __ конструкт ( 'Zend_Auth')

# 2 /www/htdocs/w00a1ed7/autospin/redaktion/library/Zend/Auth.php(91): Zend_Auth_Storage_Session -> __ конструкт ()

# 3 /www/htdocs/w00a1ed7/autospin/redaktion/library/Zend/Auth.php(141): Zend_Auth-> getStorage ()

# 4 /www/htdocs/w00a1ed7/autospin/redaktion/application/layouts/scripts/layout.phtml(31): Zend_Auth-> hasIdentity ()

# 5 /www/htdocs/w00a1ed7/autospin/redaktion/library/Zend/View.php(108): включают ( '/ WWW / HTDOCS / w00 ...')

# 6 /www/htdocs/w00a1ed7/autospin/redaktion/library/Zend/View/Abstract.php(831): Zend_View -> _ пробег ( '/ WWW / HTDOCS / w00 ...')

# 7 / www / htdocs / w00a1ed в /www/htdocs/w00a1ed7/autospin/redaktion/library/Zend/Session.php по линии 462

Я использую Zend_Auth и на моем локальном сервере, и он работает хорошо, но на рабочем сервере я получаю предыдущую ошибку, но не каждый раз.

Я проверил, что session.autostart установлено в 0 в файле .htaccess.

Как мне исправить эту ошибку?


Спасибо за ваш ответ, но я нигде не использую session_start (). Работа только с ZF.

У меня есть эта проблема только на общем сервере, на моем локальном сервере скрипт работает отлично.

Я использую функцию INIT с этим кодом:

защищенный пользователь $;

public function init()
{   
    if(!Zend_Auth::getInstance()->hasIdentity())
    {
        $this->_redirect('auth/login');
    }else
    {
        $this->user = Zend_Auth::getInstance()->getIdentity();
    }
}

Я уже пытаюсь установить этот код только в indexAction, так что другие действия не должны проверять Auth ..., но все еще возникают проблемы.

Есть ли способ установить в действии, чтобы не проверять сессию или что-то подобное?

С наилучшими пожеланиями

Ответы [ 11 ]

0 голосов
/ 30 июня 2010

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

У меня действительно была проблема с автозагрузкой. Из-за проблемы во время Bootstrap я считаю, что это привело к тому, что показанное выше исключение (скрывает реальную ошибку).

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

...