1

私は Trackosaur というアプリを作成しています。これは、あなたの行動時間を追跡します。これには Cake2+jQuery1.8 を使用しています。私が直面している問題は、セッションがタイムアウトすることに関連しています。セッションがタイムアウトする時間をphp iniで調整できました。しかし、非常に長い時間 (10 時間以上) セッションを「維持」する必要があります。そのため、session_start() を使用するだけの UserController で、自明な関数への ajax 呼び出しをセットアップします。

JS

function keepAlive()
{
        $.ajax({
            type: 'get',
            url: '/users/keepalive'
        }).done(function(data){});
}

ケーキ

public function keepalive()
{
    session_start();
}

ajax 呼び出しは 10 分ごとに行われます。これがセッションを存続させる良い方法であるかどうかはよくわかりません。session_start を使用するのではなく、Cake 自体で何かを使用してこれを行うより良い方法はありますか?

お時間をいただきありがとうございます:)

4

1 に答える 1

2

コア構成ファイルで、セッション タイムアウト値を変更できます。

CakePHP 1.3 では簡単です。これを見つけて、自分の値 (10 時間で 36000) に変更するだけです。

app/config/core.php

/**
 * Session time out time (in seconds).
 * Actual value depends on 'Security.level' setting.
 */
Configure::write('Session.timeout', '120');

CakePHP 2 で、この行を見つけて、その上のコメント ブロックを読んで、セッション時間を設定する方法を説明します。私はこれを自分で行う必要はありませんでしたが、次のように思います。

Configure::write('Session', array(
    'defaults' => 'php',
    'Session.timeout' => 36000
));
于 2012-10-12T17:03:08.923 に答える