2010-06-10 63 views
1

這可能很容易做到,但我一直無法弄清楚。爲調試目的結束php會話

基本上,我有一個鬆散的夫婦用python和php編寫的web應用程序。 python代碼使用PHP會話(當用戶登錄時從PHP應用程序生成)來檢查用戶是否已登錄/有權訪問給定的python資源。

我的問題是:什麼是強制所有活動會話超時最簡單的方法。我想這樣做是爲了調試目的,來測試python代碼。我嘗試更改session.max_lifetime PHP變量,但仍不能保證會話已結束並被刪除。

我嘗試了刪除文件,但這似乎導致問題(當我刷新PHP頁面,錯誤在我的Apache日誌顯示,它不會很快重新加載)

任何想法?

回答

1

我知道沒有中心的方式來乾淨地結束所有客戶的所有會話。

要結束所有會話,我會在應用程序中定義的位置創建一個具有定義名稱的文件(例如end.txt)。

您的引導文件(或任何您初始化會話的位置)在開始會話後立即檢查該文件是否存在;如果有,請執行session_destroy()並取消設置所有Cookie。

使用此方法,您將不得不手動刪除end.txt文件。

0

刪除服務器上的會話文件不會刪除客戶端的sesison cookie。您可以刪除會「殺死」會話的會話cookie。或者你可以簡單地使用session_unset()銷燬會話服務器端。

您可能還需要使用session_destroy()並取消設置會話cookie(爲此請查看session_unset註釋以瞭解如何操作)。