我想設置session.gc_maxlifetime。但超時的值本身在會話中。 我嘗試使用下面的代碼,但它沒有工作。問題與session_start和session.gc_maxlifetime
session_start();
//Do some database and session operations
ini_set('session.gc_maxlifetime', $_SESSION['timeout']);
session_start();
我想設置session.gc_maxlifetime。但超時的值本身在會話中。 我嘗試使用下面的代碼,但它沒有工作。問題與session_start和session.gc_maxlifetime
session_start();
//Do some database and session operations
ini_set('session.gc_maxlifetime', $_SESSION['timeout']);
session_start();
如果您正在試圖通過您的會話超時設置的session.gc_maxlifetime,我想這種做法是完全錯誤的,
這是因爲會話設置應在會議開始前進行定義。
嘗試這個 -
$timeout=$_SESSION['timeout']
$old_session_id = session_id();
# write and close current session
session_write_close();
ini_set('session.gc_maxlifetime', $timeout);
# now we can switch the session over, capturing the old session name
$old_session_name = session_name($session_name);
session_id($session_id);
session_start();
# get the desired session data
$session_data = $_SESSION;
我一直在使用下面的代碼來實現這一點。
$arrMixTempSession = $_SESSION;
session_destroy();
ini_set('session.gc_maxlifetime', $_SESSION['timeout'] * 60);
session_start();
$_SESSION = $arrMixTempSession;
你有一個動態更改php會話超時?爲什麼? – Latheesan
長時間處理後,我從數據庫中獲取超時秒數。 –
數據庫超時與php會話超時有什麼關係?你確定你沒有得到最大執行超時?無論如何,你爲什麼不在'php.ini'全局設置相應的超時時間呢? – Latheesan