アプリケーションを別のサーバーに転送していますが、PHP セッションに問題があり、有効期限が切れないようです。
私が設定したphp.iniで:
session.gc_probability = 1
session.gc_divisor = 1
session.gc_maxlifetime = 300
もちろん、Cookieは有効になっています。それでも、5 分後にページを更新してもログインしたままです。ブラウザを閉じてページを再度開いても。編集:実際には、ブラウザを閉じるとセッションがクリアされるようです。
すべてのリクエストは最初に特定のスクリプトを通過するため ( ) RewriteRule / begin.php
、私は非常に幸運で、これで問題を解決できました。
session_start();
if (time() > @$_SESSION['sessionLimit']) {
session_destroy();
session_start();
}
$_SESSION['sessionLimit'] = time() + ini_get('session.gc_maxlifetime');
しかし、それでも、私が間違っていることと、古いサーバーですべてがうまくいった理由がわかりません( session.gc_divisor
10に設定されていたとしても)。
古いサーバー: Windows Server 2003、Apache 2.4、PHP 5.4.5、すべて 32 ビット
新しいサーバー: Windows Server 2008 R2、Apache 2.4、PHP 5.5.4、すべて 64 ビット