2012-09-29 133 views
0

我有一個使用Cakephp開發的應用程序。該會話也可以在本地主機上正常工作。我看到會話可以設置,並在localhost中讀出,我還可以看到在php.ini中定義的會話文件被創建爲sesssion_save_path。cakephp會話不能在共享主機上運行(godaddy,ICDsoft)

首先,我寫了一個小會話檢查php文件來測試共享主機,我100%確定共享主機在會話上沒有問題。

但是,會話似乎無法在共享主機上工作。我可以設置一個會話,我可以在主機上看到創建的會話文件,但是當我刷新它時,請執行以下操作: $ this-> Session-> read(「User.id」); $ this-> Session-> check(「User.id」);

沒有什麼。

我該怎麼辦?它與cakephp緩存有什麼共同點嗎?

回答

2

首先我們想提一下,我們不是CakePHP的專家,所以我們可能無法提供最好的答案。

我們的CakePHP 2.2對我們的共享主機環境中測試會議,用下面的示例腳本/控制器:

public function index() {//The default action for a CakePHP controller 
    CakeSession::start(); 

    echo 'Hello world.<hr/>'; 

    // test that the session actually works 
    $counter = 0; 
    if ($this->Session->check('counter')) { 
     $counter = $this->Session->read('counter'); 
    } else { 
     echo 'Creating session' . PHP_EOL; 
    } 

    ++$counter; 

    $this->Session->write('counter', $counter); 

    echo "You were here {$counter} time(s)\n\n"; 
    var_dump($this->Session->read('counter')); 
    } 

看來,會話數據被保存和讀取正確。如果您在ICDSoft的服務器上安裝CakePHP時仍然存在問題,我們會建議您聯繫我們的支持團隊。我們可能不總是能夠提供適當的調試支持,但我們總是願意嘗試。

最好的問候,

ICDSoft隊

0

在CakePHP的餅乾拿峯被分配到你的瀏覽器中看到的會話ID是否在不斷變化。如果確實如此,那麼你的會話不會被持久化。

其次它可能值得檢查是否$_SESSION超全球也可用。

相關問題