php-新しいサーバーでリダイレクトした後、CakePHPセッションが破壊されたようです
ある本番サーバーから別の本番サーバーに移動する3つの動作中のアプリがあります。 3つのアプリすべてがAuthを使用します。 3つすべてが元のサーバーで正常に動作します。新しいサーバーでは、これらのアプリの1つが正常に機能します(たまたまCakePHP 1.3です)。つまり、ユーザーのセッションデータ(ユーザー名や役割など)にログインした後、リダイレクト後にPagesControllerで利用できるようになります。
他の2つのアプリ(1つは1.3、もう1つは2.3)では、ログインリダイレクト後、セッションデータが失われているようです。 PagesControllerで$this->Auth-> user()をデバッグすることで、これを確認しました。また、UsersControllerで$ this-> Auth-> login()を呼び出した後、セッションデータが存在することを確認しましたが、リダイレクト後に削除されました。
これらは私が長年使用しているアプリであるため、問題は新しいサーバーの構成の問題(ディレクトリのアクセス許可など)であると確信しています。すべての権限を確認しましたが、問題が見つかりません。動作する1つのアプリと動作しないアプリの権限を比較しましたが、困惑しています。
何か提案はありますか?
答え :
解決策:
クラスを開始する前に、AppControllerの上部でob_start()またはsession_start()を試してください。
ありがとう..!
答え :
解決策:
この質問と回避策もCakePHPGoogleグループに投稿し、詳細を追加しました。次のサイトにアクセスしてください。 https://groups.google.com/forum/#!topic/cake-php/ORfK1b9AYTU
問題は、リダイレクト後にセッションが開始されないことです。回避策は、beforeFilter()のAppControllerでCakeSession :: start()を呼び出すことですが、これは必須ではありません。
ケン
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。