2014-05-10 215 views
2

我在本地服務器上開發了我的網站,並且沒有問題,然後將它放在活動的服務器上,並且沒有問題,之後我將其移至VPS,但我遇到了一個奇怪的問題發生的事情,我不能再登錄。新的服務器有更新的軟件,如PHP 5.5(但我的本地主機也有)。我不確定從哪裏開始發現問題。無法通過Yii登錄

我的配置是這樣的:

'session' =>array(
     'savePath' => '../mySession', 
     'sessionName' => 'my_session', 
     'cookieParams' => array(
       'secure' => true, 
       ), 
    ), 

我可以看到我的會話被保存到會話文件夾。我能夠改變我的網站使用會話的語言。所以我不完全確定這是一個會話問題,或者它是什麼,因此我的問題。

更新

我看着行動,這是標準的Yii代碼

if($model->validate() && $model->login()) 
      echo 'hello';//$this->redirect(Yii::app()->user->returnUrl); 
    } 

當我跑了這一點,網頁呼應了Hello,我可以看到我登錄,我什麼時候去點擊我的配置文件,然後再次加載登錄頁面,並顯示我已註銷。所以這似乎是一個會話保留問題?

我可以看到的唯一奇怪的是,在我的本地主機中,我可以看到my_session和yii_csrf會話。但在我的VPS上,我可以看到這兩個,也是PHPSESSION,所以我想知道這是否會導致衝突,但我不知道。

+0

你應該給我們更多關於你的問題的信息。嘗試調試登錄過程。請求中是否輸入了正確的操作?身份驗證過程是否已初始化?它成功了嗎?如果是,請與我們分享登錄成功後執行的代碼部分? – mcserep

+0

更新了我的信息,我從來沒有遇到任何問題,並且我已經在兩臺本地計算機上運行,​​一臺運行php 5.2,新運行5.5,並且我從未在運行5.3的共享主機上遇到問題。所以這有點神祕。 – Jonnny

回答

1

我想我已經解決了這個問題,儘管設置配置文件爲savePath我跑的phpinfo(),它顯示我的本地值作爲我的會話保存路徑,但我的主值仍是tmp目錄。

+0

解決了我的問題,謝謝。 –

0

您可以嘗試下列代碼並檢查會話組件是否已預加載(在您的配置文件中)。也許會議尚未開始。最後確保你的會話文件夾是可寫的。

'session'=>array(
        'timeout'=>3600, 
        'sessionName'=>'my_session', 
        'autoStart'=>true, 
        'class'=>'CHttpSession', 
        'cookieMode'=>'only', 
        'cookieParams' => array(
         'secure' => true, 
        ), 
       ), 
+0

我試着用你的配置,仍然是相同的結果。 – Jonnny