2014-09-12 56 views
1

我有一個蛋糕php項目,它像生產Linux服務器上的魅力一樣工作。蛋糕php會話cookie變量不會在本地主機中創建

我的代碼爲core.php中session處理程序:

Configure::write('Session', array(
      'defaults' => 'cake', 
      'cookieTimeout' => 0, 
      'cookie' => 'mybeautifulsession' 
)); 

當我檢查元素我發現有一個與我的活域名生成的名稱mybeautifulsession的cookie。 當在localhost上執行相同的代碼時,該變量未生成,結果我的auth組件不起作用,並使我重定向到登錄頁面。

我如何得到這個工作?我錯過了什麼?確實很愚蠢。

感謝

回答

0

會話默認選項 '蛋糕' 保存在CakePHP的/ tmp目錄會話文件。因此,確保/ app/tmp目錄及其蛋糕安裝中的所有子目錄均可由Web服務器用戶寫入。

對於要運行的站點,apache需要讀寫沒有執行。爲了訪問它(假設你在擁有app/tmp的組中),如果你用終端/發現者手動編輯,你也需要讀寫。所有其他用戶應該沒有任何權利。所以:

OSX & Linux:sudo chmod -R 660 app/tmp /。 -R部分是對所有內部文件夾進行遞歸執行。第一個6是用戶所有者(OSX:_www或Linux:www-data),第二個6是所有者(OSX:staff或Linux:johnsmith),0代表所有其他用戶/客人。

注:根據對CakePHP的這個拉請求時,它看起來像CakePHP的2.4將要創建的應用程序的/ tmp /這就意味着它需要的7而不是6用戶的子文件夾的能力現在已經成爲760