2011-11-22 28 views
0

當Zend Framework應用程序嘗試實例化Zend_Session_Namespace時,我得到「會話已經由session.auto-start或session_start()啓動了」錯誤。我認爲這是Facebook的API的問題,它試圖通過自己啓動會話,我沒有在我的應用程序中的任何地方使用session_start()。有什麼辦法可以避免這種情況發生?避免Facebook API session_start

回答

2

也許不是最好的解決方案,但我通過在Facebook類的構造函數中編輯session_start()方法並用Zend_Session :: start()替換它來解決它。

+0

我認爲這是一個很好的解決方案。如果Facebook的API被重寫爲Zend使用它可能會包含這種修復。 –

0

檢查你的PHP ini文件對於這種類型的代碼 session.auto_start =真

的如果是真的,那麼它設置爲false。

當你實例化一個Zend_Session_Namespace時,它會調用session_start。很酷的是,如果你實例化多個命名空間,只有第一個會調用會話啓動。

如果會話由您手動啓動,那麼您可能會收到此錯誤。

你可以嘗試的另一件事是本

 
Zend_Session::setOptions(array('strict' = 'off')); 

這將自動啓動會話,讓您選擇什麼時候自己手動啓動會話禁用任何命名空間的對象。