2
這個問題一直讓我瘋狂。在兩個單獨的項目中(兩者都使用PEAR作爲庫,但是使用完全不同的自定義框架編寫),我使用PEAR Auth進行使用會話的身份驗證。PHP PEAR驗證會話超時
登錄後,用戶在空閒一小時左右內即可退出登錄。我沒有確切的時間,但很短。
我試過以下沒有成功。所有試圖將會議延長到一天,只是爲了指出這一點。
<?php
// Tried built-in methods to extend the idle time, called after Auth is initialised
$auth->setIdle(86400);
// Tried increasing the sesion timeout (before auth is called)
ini_set('session.gc_maxlifetime', 86400);
// Tried increasing the cookie timeout (where the phpsession is held, before auth is called)
session_set_cookie_params(86400);
// Tried all of the above
?>
有沒有其他人有這個問題?如果是這樣,是否有可能延長空閒時間?
我正要準備好PEAR並寫我自己的基於cookie的認證類,但我沒有時間。
謝謝!我會試試這些,並讓你知道它是如何發生的。 – teaforchris 2009-09-30 10:50:57
按照建議嘗試了setExpire()以及setIdle(),但這似乎沒有任何區別。 服務器是雲服務器,所以我不完全確定會話是如何存儲的 - 這可能會受到其他腳本的干擾。 你認爲使用不同的session.save_path爲有問題的Web應用程序會有幫助嗎? – teaforchris 2009-10-01 09:11:54
是的,你應該嘗試一下。如果它是雲服務器,那麼運行更多的php應用的可能性很高,所以這可能是罪魁禍首。如果路徑未指定,它默認在* nix服務器上的'/ tmp',因此將其設置爲'/ tmp/[yourAppName]'(或更好地'/ tmp/[hash of yourAppName]')可能會解決你的問題(至少它會排除另一個可能的原因;) – 2009-10-01 09:47:12