2013-09-21 49 views
0

的一切,我發現有關此錯誤消息是說,無論有沒有會話啓動或者我沒有權利,遺憾的是沒有這些的就是如此。未能破壞會話對象

我的會話是活動的,到時候我試圖摧毀它在我的logout方法我得到

warning: session_destroy(): session object destruction failed

我的症狀似乎很喜歡在this問題的那些其中,可悲的是,沒有答案。另外,當我嘗試退出幾次時,它會成功破壞會話。有時需要2次退出5次,它的數量從來不會相同,但它也不會從第一次嘗試中破壞它。我覺得這很尷尬,有人能給我一些建議嗎?

+1

@alfasin來吧,你認真嗎?你甚至讀過這個問題嗎?我明確表示,在沒有給出http://stackoverflow.com/questions/8549757/why-session-object-destruction-failed解決方案是有效的在我的情況 –

+0

你試過先取消設置會話?通常session_destroy應該可以工作,但是你總是可以嘗試首先解除錯誤 –

+0

@jonasvermeulen奇怪的是,我現在擁有這個系統已經有半年多的時間了,它只是開始給我這個垃圾而沒有改變任何東西。解封是不是一個真正的選擇,因爲除了它不是一個相當不錯的解決方案,我還需要爲未受到規則:( –

回答

0

我只是發現了什麼問題,而且看起來非常怪異,不合邏輯的。

我的退出按鈕是一個錨標記,而我和我的現場測試的東西玩弄,我開始竊聽標籤,看看我能在一個普通的頁面注重哪些元素。我注意到,菜單通道中的所有按鈕都可以關注,但註銷按鈕除外,這是由於缺少href屬性,所以我添加了一個空href屬性,以便可以通過Tab鍵聚焦。顯然,一個空href標記重定向到根(我想這是由於我使用的<base>標記)。所以每次我點擊註銷按鈕時,我都會被重定向到主頁面(我一開始並沒有注意到這一點,因爲我實際上在那個頁面上,正確的說法),這顯然會阻礙ajax會話的發展通過點擊非常相同的按鈕發送的請求。我的假設是,PHP會失敗銷燬會話對象,因爲它正在使用中,加載我已重定向到自己的頁面,有時註銷工作,因爲重定向很慢,並且在php開始創建之前及時執行ajax調用新的頁面。

我已刪除的href屬性,一切工作現在..我想請您發表評論我是否正確或錯誤,並可能給出正確的答案,謝謝!

+0

我認爲我的問題可能有是一個訪問sesion文件並且崩潰的進程,或者也許我的文件系統已經損壞......但是我再也沒有遇到這個問題,所以我猜你的問題是不同的 – maja

+0

只是有同樣的問題。一個href屬性,刪除屬性解決了問題。 –

0

試試這個soluation:

<?php 

session_start(); 
$_SESSION = array(); 

if (isset($_COOKIE[session_name()])) { 
    setcookie(session_name(), '', time()-42000, '/'); 
} 
session_destroy(); 
?>