1

Web サイトを新しいホスト (MediaTemple) に移動しようとしています。

http または https に固執する場合は、すべて問題ありません。http->https または https->http から移動すると、エラーが発生します。

致命的なエラー: メッセージ「セッションは、session.auto-start または session_start() によって既に開始されています」を含むキャッチされない例外「Zend_Session_Exception」
    /var/www/vhosts/FakeSite.com/httpdocs/library/Zend/Session.php:462 内
スタックトレース:
#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 行 462

セッション パスは書き込み可能で、1 つのプロトコルに固執すれば問題なく動作するようです。session_start() 呼び出しはなく、session.auto-start は 0 です。

コードは他の 3 つのサーバーで正常に実行されています。それは設定の問題に違いないのですが、私はそれを見つけることができませんでした

4

3 に答える 3

2

session_start()関数を呼び出すプラグイン(または他のライブラリ)があると思います

Facebookリソースを作成しようとしたときに同じ問題が発生しました

于 2012-02-04T15:12:10.207 に答える
2

確かに、サーバーは session.auto_start = 1 で構成されているようです。

だから、多分に追加しconfigs/application.iniます:

phpSettings.session.auto_start = 0
于 2011-04-05T23:14:11.303 に答える
1

私はついにそれを理解しました。

問題は、http 上の PHP が Apache モジュールとして実行され、https 上の PHP が FastCGI モジュールとして実行されていたことです。

それらは MediaTemple か何かで別のユーザーとして実行されていると思います。セッションは一方によって作成され、別のユーザーがファイルを所有していたため、他方は読み取ることができませんでした。

于 2011-04-06T15:51:29.137 に答える