1

何かをスキップしているか、正しく構成されていないセッションのいずれかであることはわかっていますが、Yii セッションが機能していません。デバッグと検索に多くの時間を費やしましたが、具体的な答えにはなりません。

ドキュメントとインターネット上のチュートリアルで説明されているように、次のようにアプリケーション セッションを構成しました。

'components'=>array(
    'user'=>array(
    // enable cookie-based authentication
    'allowAutoLogin'=>true,
    ),
    'session' => array (
    'sessionName' => 'Site Session',
    'class'=>'CHttpSession',
    'useTransparentSessionID'   =>($_POST['PHPSESSID']) ? true : false,
    'autoStart' => 'true',
    'cookieMode' => 'allow',
    'timeout' => 300
),

ただし、サーバーにリクエストを送信するたびに、新しいセッション オブジェクトを取得します。echo "Session id: ".Yii::app()->session->sessionID;異なるIDが返されるたびに、同じことを確認しました。また、以前にセッションで追加した変数は、この動作のためにアクセスできません。

親切にいくつかの指針を提供してください。デバッグと解決策の検索に 4 時間以上費やしました。事前にご指摘いただきありがとうございます。

ありがとう

〜タルン

4

4 に答える 4

1

この URL http://php.net/manual/en/function.session-name.phpで php セッション名のドキュメントをお読みください。

セッション名には英数字のみを含める必要があることを明確に述べています。それも、少なくとも 1 つのアルファベットを含む必要があります (セッション名もすべての文字を数字にすることはできません)。そうしないと、毎回新しいセッション ID が生成されます。

于 2013-06-14T05:42:51.157 に答える
0

chrome 44 と chrome 47 のバグ、51 にアップデートすれば大丈夫です。

于 2016-06-30T04:00:16.653 に答える