2014-05-10 168 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