2013-10-12 98 views
0

最近我將我的cakephp站點從託管服務移動到其他站點。該頁面像一個魅力,但現在我有問題,我的會議隨機下降。 我在一個共享主機服務,所以我改變了蛋糕的會議默認從PHP到蛋糕,現在我的會話保存到我的tmp/sessions文件夾。 (但它不是用PHP工作要麼)Cakephp隨機刪除會話

跟着我的會話的方式與螢火蟲:

  1. 當我登錄到網頁中,我有一個會話ID,並在TMP /會話文件夾中我有相應的sess_ {sessionid}文件。
  2. 在一些頁面上點擊幾下(完全隨機)後,我的sessionid變化,我「退出」了。 我登錄的會話文件保留在目錄中。在core.php中

我的會話設置現在:

Configure::write('Session', array(
    'defaults' => 'cake' 
)); 

我使用的是2.3.8版本的蛋糕。


更新:

最後我發現這個問題感謝尼克。我查了一下CakePHP的錯誤文件,發現我只有註銷了,當時我訪問了一個頁面,其中包含一個不在服務器上的元素(例如一張圖片丟失)。所以我去了Firebug,並檢查Net標籤說什麼。在新的主機服務中,我收到了404 Not Found響應,並在響應中設置了新的會話ID,而在其他服務器上,我測試了該頁面,結果我得到了404 Not Found。如果我隨機生成鏈接到不存在的文件(如domain/test.jpg),我會得到相同的結果。

+0

這看起來像一個經典的問題,在會話之前php cookie過期。檢查http://stackoverflow.com/questions/11304390/cakephp-session-updates-but-cookie-expiry-doesnt – user221931

+0

不幸的是,會話cookie的到期設置爲幾個小時(這是正確的設置,檢查在螢火蟲),但我在一分鐘內註銷。 – baliika

回答

0

嘗試這些設置,在Firefox中可以安裝Web開發擴展,然後您可以查看您的Cookie以查看它是否全部設置正確。

Configure::write('Session', array(
'defaults' => 'php', 
'cookie' => 'yourdomain', 
'timeout' => 44640, 
)); 
+0

感謝您的回答,但仍有些事情是不正確的。現在我的cookie被重命名,並在11月到期,但不知何故我仍然退出,並獲得新的會話ID – baliika

+0

嘗試其他瀏覽器或從其他機器。螢火蟲有時會以某種方式混淆標題,看起來該請求是來自其他瀏覽器。 – user221931

+0

這是一個好的開始,至少它不是cookie到期的cookie,但它似乎與您的登錄和交換到其他頁面更相關,我想您使用正確的方式來設置和交換您的數據之間的交換?你也確定這只是因爲你交換了託管?您是否嘗試在Xammp或Wammp環境中運行您的程序,以確保它是您的主機?這似乎很奇怪,因爲如果你使用cakephp來存儲你的cookie,它不會去所有共享主機客戶的shared/tmp文件夾。 – Nick

0

檢查您用於空白(通常在文件末尾)的任何組件。

最近我遇到了這個問題,同時幫助客戶使用他們現有的CakePHP站點,當登錄到一個稱爲組件的特定頁面正在查看$ this-> Session-> read('Auth')。

有一個CakePHP外殼,您可以使用find whitespace