セッション時間の確立

WBOY
リリース: 2016-06-13 12:48:20
オリジナル
837 人が閲覧しました

セッション時間の設定

この投稿は guliputaoyou によって最終編集されました: 2013-04-23 11:04:18 サーバー構成ファイルは変更できないため、ユーザーがログインし続ける時間を 2 時間に変更する必要があります。
そこで phpinfo をチェックしたところ、gc_maxlifetime=1440、
が見つかりました。 そこで、多くの情報を確認し、ログイン ページでこの関数を使用して、元の session_start() を置き換えました。
関数 start_session_custom($expire = 36000)
{
ini_set('session.gc_maxlifetime', $expire);

if (empty($_COOKIE['PHPSESSID'])) {
Session_set_cookie_params($expire);
Session_start();
} else {
Session_start();
setcookie('PHPSESSID', session_id(), time() $expire);
}
}
$expire は 36000 (10h) に設定されていますが、それでも機能しません。
もう 1 つの注意: 実際、古いコードの束には多数の session_start が含まれていますが、それらをすべて start_session_custom に置き換える必要がありますか?
最初の session_start ページ (つまり、ログイン ページ) のみを変更することはできますか?


訂正:
全文を確認したところ、session_set_save_handler
があることがわかりました。 その中には
そして $maxlifetime=72000;
関数 gc($maxlifetime)
{
if(rand(0,1000) 00!=0)return false;
$expiretime = $this->now - $maxlifetime;
return $this->db->query("DELETE FROM $this->table WHERE `last_activity`<$expiretime");
}

-----解決策--------------------------------原則は、 session_start の前に設定されます。それ以外の場合は無効です

コードを公開ファイルに配置し (すべてのプログラムがそれをロードします)、他のファイルの session_start
を削除できます。 探すのが面倒な場合は、php 5.4 環境でプロジェクトを実行することもできます
php 5.4 では session_start が繰り返されると警告が発行されるため、それに応じて変更すると非常に便利です
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート