2011-04-05 1 views
1

에 Zend_Session_Exception HTTP "세션이 이미 시작되었습니다"새 서버 : (. Mediatemple를)을 나는 새 호스트에 웹 사이트를 이동하기 위해 노력하고있어 HTTPS 및 그 반대의 경우도 마찬가지

당신은 HTTP에 충실, 또는 https 모든 것이 벌금. http-> https 또는 https-> http로 가면 오류가 발생합니다.

 
Fatal error: Uncaught exception 'Zend_Session_Exception' with message 'session has already been started by session.auto-start or session_start()' 
    in /var/www/vhosts/FakeSite.com/httpdocs/library/Zend/Session.php:462 
Stack trace: 
#0 /var/www/vhosts/FakeSite.com/httpdocs/library/Zend/Session/Namespace.php(143): Zend_Session::start(true) 
#1 /var/www/vhosts/FakeSite.com/httpdocs/library/Zend/Auth/Storage/Session.php(87): Zend_Session_Namespace->__construct('Zend_Auth') 
#2 /var/www/vhosts/FakeSite.com/httpdocs/library/Zend/Auth.php(91): Zend_Auth_Storage_Session->__construct() 
#3 /var/www/vhosts/FakeSite.com/httpdocs/library/Zend/Auth.php(141): Zend_Auth->getStorage() 
#4 /var/www/vhosts/FakeSite.com/httpdocs/application/layouts/layout.phtml(12): Zend_Auth->hasIdentity() 
#5 /var/www/vhosts/FakeSite.com/httpdocs/library/Zend/View.php(108): include('/var/www/vhosts...') 
#6 /var/www/vhosts/FakeSite.com/httpdocs/library/Zend/View/Abstract.php(831): Zend_View->_run('/var/www/vhosts...') 
#7 /var/www/vh in /var/www/vhosts/FakeSite.com/httpdocs/library/Zend/Session.php on line 462 

세션 경로가 쓰기 가능하며 하나의 프로토콜을 고수하면 잘 작동하는 것 같습니다. session_start() 호출은 없으며 session.auto-start는 0입니다.

코드는 다른 3 개의 서버에서 정상적으로 실행됩니다. 이 구성 문제가 될 수 있어야합니다,하지만 난 그것을 찾을 수 없어

답변

2

물론 서버가 세션의 자동적으로 구성된처럼 = 1.

그래서, 어쩌면 configs/application.ini에 추가 같습니다

phpSettings.session.auto_start = 0 
+0

이미 확인했다 세션의 자동적 = 0을 호출하는 플러그인 (또는 다른 라이브러리), 생각 로컬 및 마스터,하지만 그 줄을 application.ini 어쨌든 추가하려고. 여전히 같은 오류가 발생합니다. – Robert

1

마침내 생각났습니다.

문제는 http의 PHP가 Apache 모듈로 실행되고 https의 PHP가 FastCGI 모듈로 실행되고 있다는 것입니다.

MediaTemple 등에서 다른 사용자로 실행되는 것으로 가정합니다. 다른 사용자가 파일을 소유했기 때문에 세션을 하나씩 생성하고 다른 세션에서 세션을 읽을 수 없습니다.

2

난 당신이 모두 session_start() 기능

저도 같은 문제가 있었다

, 페이스 북의 리소스를 만들려고 할 때

+2

이 문제는 틀림 없습니다 : facebook php sdk가 표준 PHP session_start()로 세션을 시작하려하고 Zend Framework 자체의 세션 처리기를 방해합니다. –

+0

방금 ​​이런 문제를 해결했습니다. $ auth-> getStorage(); 부트 스트랩에서 FB init 전에 –