5

PHP アプリケーションのセッションに次の変数を設定しています。

ini_set('session.cache_expire',     200000);
ini_set('session.cache_limiter',    'none');
ini_set('session.cookie_lifetime',  94608000);
ini_set('session.gc_maxlifetime',   94608000);
ini_set('session.save_handler',     'user');
ini_set('session.use_cookies',      1);
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid',    0);

ラップトップ (Chrome、Safari、または Firefox) からログインすると、ログアウトされることはありません (上記で設定したように少なくとも 3 年間)。しかし、iPad にログインすると、毎週、場合によっては 1 週間に複数回ログアウトされます。

Mac でデバッグを使用したり、Cookie を削除したり、セッション Cookie を検査したりしました。有効期限はすべて適切な日付 (2016 年 2 月) ですが、まだログアウトしています。

iPad は cookie_lifetime 変数を無視しているようです。

以前にこの問題に遭遇した人はいますか? 何か案は?

4

1 に答える 1

1

これはバグかもしれませんが、そうではないかもしれません。しかし、私はあなたと同じ問題に遭遇しました。私が使用した回避策は次のとおりです。

session_start(); 
$lifetime = 94608000;
setcookie(session_name(),session_id(),time()+$lifetime);

私のために働きます。

于 2013-03-02T13:51:15.193 に答える