2

問題があります。アプリセッションが約15分後に予期せず期限切れになります。4時間後に期限切れにする必要があります。

サーバーはCentos5.5、PHPは5.3.2です。

以下は私のコードです(グローバルヘッダーに含まれています)。

<?php
session_name('MobileSuiteHQ');
if(!session_id()) {
    session_start();
}
ini_set('memory_limit', '512M');
ini_set('session.gc_maxlifetime', 14400000);
ini_set('session.cookie_lifetime', 14400000);
ini_set('session.gc_divisor', 1000);
ini_set('session.use_cookies', 0);
ini_set('max_execution_time', 300);
ini_set('session.name','MobileSuiteHQ');
?>

私の.htaccessファイルには次のものが含まれています。

php_value session.gc_maxlifetime 14400000
php_value session.cookie_lifetime 14400000
php_value session.use_cookies 0
php_value session.gc_divisor 1000

どんな助けや洞察も素晴らしいでしょう。

編集:.htaccessファイルを更新したときにログインできませんでした。セッションが開始されませんでした。だから私は今削除しました:

php_value session.use_cookies 0

これでログインできるようになりました。

4

3 に答える 3

8

CentOSについてはわかりませんが、Ubuntuではphp5パッケージが/etc/cron.d/php5ファイルをインストールし、毎時:9と:39のセッションファイルを「24分間そのまま」削除します。したがって、最小24分、最大54分のセッションがあります。

于 2011-02-25T15:04:14.980 に答える
3

最初の調査では、gc_maxlifetimeとcookie_lifetimeの設定を下げます。私は14400000がPHPが対処するのに少し高いと思います(理論的には、32ビットOSは2147483647まで上がることができるはずですが、これはまだ要因である可能性があります)。

寿命が4時間しかない場合は、14400が最適な設定であり、上記の理由で問題が解決する可能性があります。

于 2011-02-08T17:33:13.133 に答える
0

**10分ごとにリクエストを実行するajaxコードを作成しますvarrefreshTime= 600000; //ミリ秒単位で10分ごと**

window.setInterval( function() {
    $.ajax({
        cache: false,
        type: "GET",
        url: "refreshSession.php",
        success: function(data) {
        }
    });
}, refreshTime );
于 2021-09-21T18:56:58.907 に答える