1

ion_authを使用するCodeigniter/PyroCMSを使用しています。

セッションの内容を2時間設定しました。私はdbセッションを使用しています。

時々、n分後にセッションを起動しているグレムリンがどこかにあります。非常にランダムであるため、確実に再現することは不可能です

Sessionクラス(具体的にはsess_destroy)にログエントリを追加しましたが、それは単に破壊されたセッションをログに記録するだけであり、これは私がすでに知っていたものです。

上記のログエントリにdebug_backtrace()を追加しようとしましたが、コードを使用していません(ログに記録されないか、!sessionリダイレクトの前に一瞬画面に吐き出されます)。

これを追跡するための良い/適切な方法はありますか?

装いありがとう。


更新:Session.phpにさらにいくつかのログエントリを追加しました。dbセッションが誤って削除/上書きされていることがわかりました。ワイ?

4

3 に答える 3

1

これは非常に一般的な問題のようです。私はCodeigniterのネイティブセッションを使用しました(そして推奨として喜んで受け入れました) (下部にダウンロードリンクがあります)

しかし、それは古いライブラリであるため、いくつかのハックを行わなければなりません。あなたは図書館のフォーラムでそれらの単純なハックをチェックすることができます

このファイルをcodeigniterのライブラリディレクトリにドロップして、問題が解決するかどうかを確認してください。フィードバックしてください。

于 2012-01-27T09:52:48.237 に答える
0

セッションCookieの有効期限が早すぎるようです。セッション関連のものについては、構成ファイルの設定を確認することから始めます。つまり、$ config ['sess_expiration']値で、デフォルトは7200です。これは2時間です。

次に、php.iniを確認します。デフォルトは3600であると思います。(1時間)

それ以外の場合は、コードがUNIXシステム上にある場合は、

grep -Rn 'sess_destroy' .

他に探したいのは、セッションにNULLまたは空の値を書き込もうとしている場所です。どこにもsess_destroyがない可能性がありますが、unset($ _ SESSION)の効果をもたらす可能性があります。

お役に立てれば。

于 2012-01-27T04:05:24.413 に答える
0

サーバーとresolve.confのマッピングに問題があるようです。

于 2012-02-21T14:23:43.347 に答える