2016-07-04 105 views
-2

我的PHP webapp中遇到了一個非常奇怪的問題。 如果我登錄,在我的會話期間一切正常。 如果我第二天進來,我的webapp將我返回到登錄頁面(如我所期望的)。在PHP和Zend中處理會話

問題是,一旦我登錄,我的網站部分工作,部分不工作。不返回奇怪錯誤消息的部分,然後我退出並需要重新登錄。奇怪的是,有些日子某些部分不工作,而其他日子其他部分不工作。如果我刪除所有cookie值,我可以看到,這並不能解決問題。問題只能通過刪除整個cookie本身然後再次登錄來解決。

我關閉了垃圾回收(因爲在Ubuntu上有一個cron作業,它會自動執行,即使我看不到它),但問題發生在此之前。

所以在簡單性方面我的意圖是雙重的: - 將代碼添加到我的登錄頁面完全刪除cookie(假設我能做到這一點從PHP) - 從我的web服務器移動會話存儲到我的MySQL數據庫(因爲我在我的開發環境,但準備建立自己的測試環境,這將是Web服務器的集羣,而不僅僅是一個)

我的問題是: - 有什麼辦法,以確保會話值可靠地死優雅而不是徘徊和肆虐? - 是否可以從PHP代碼中刪除整個cookie,而不僅僅是cookie值?

非常感謝。

+0

http://php.net/manual/en/function.session-regenerate-id.php – Phil

+0

你是什麼意思「lingerng和肆虐破壞」?你看到了什麼奇怪的錯誤信息? –

+0

有時(像今天早上)沒有問題。通常在登錄並點擊之後的第一頁(任何頁面)後,我會返回到登錄頁面。有時,所有頁面都可以正常工作,但每次都會返回一個不同的錯誤。從本質上講,錯誤消息意味着它無法找到數據,因爲它不知道我的用戶名,因爲我沒有登錄(即使我和其他網頁工作正常)。 – ChrisFNZ

回答

0

經過一段時間的問題後,這個問題已經消失。我已經確定了原因,所以我想我會發佈一個快速更新。基本上我有三個我在我的域中訪問過的站點,我自己的web應用程序,一個CMS管理頁面和另一個管理工具。我確定我的webapp和CMS管理員之間的會話cookie正在相互干擾。如果我使用不同的瀏覽器訪問不同的網站,則問題不會再發生。它把我推上了牆。感謝那些發佈了建議/回覆的人。我很感激。我會將其標記爲關閉。