PHP セッションがランダムに期限切れになり、約 5 分 (300 秒) を超えることはめったにありません。
ここで PHP と MySQL のログイン スクリプトを試しています: http://www.wikihow.com/Create-a-Secure-Login-Script-in-PHP-and-MySQL (以下に抽出された sec_session_start 関数)。
function sec_session_start() {
$session_name = 'sec_session_id'; // Set a custom session name
$secure = false; // Set to true if using https.
$httponly = true; // This stops javascript being able to access the session id.
ini_set('session.use_only_cookies', 1); // Forces sessions to only use cookies.
$cookieParams = session_get_cookie_params(); // Gets current cookies params.
session_set_cookie_params($cookieParams["lifetime"], $cookieParams["path"], $cookieParams["domain"], $secure, $httponly);
session_name($session_name); // Sets the session name to the one set above.
session_start(); // Start the php session
session_regenerate_id(true); // regenerated the session, delete the old one.
}
私は問題を解決しようと試み、多くの理由で PHP セッションが早期に期限切れになることを理解するために、この主題を詳しく読みました。問題を解決する方法について何かアイデアがあれば、教えてください。問題が私を怒らせるからです。
注意:
1. php.ini で、session.gc_maxlifetime = 3600 を設定し
ました。 2. 私のホストは IPage です。
2. session_set_cookie_params を次のように編集しようとしましたが、問題は解決しません。
session_set_cookie_params( time()+1800, "/", $cookieParams["domain"], $secure, $httponly);