cakephp session不适用于共享主机(godaddy,ICDsoft)

时间:2012-09-29 00:14:35

标签: session cakephp shared host

我有一个使用Cakephp开发的应用程序。会话也适用于本地主机。我看到会话可以设置,并在localhost中读出,我也可以看到在php.ini中定义的sesssion_save_path创建的会话文件。

首先,我写了一个小会话检查php文件来测试共享主机,我100%确定共享主机在会话中没有问题。

但是,会话似乎无法在共享主机上运行。我可以设置一个会话,我也可以看到在主机上创建的会话文件,但是当我刷新它时,并执行:     $这 - >会话而>读( “User.id”);     $这 - >会话而>检查( “User.id”);

什么都没有。

我该怎么办?它与cakephp缓存有什么关系吗?

2 个答案:

答案 0 :(得分:3)

首先我们要提到的是,我们不是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团队

答案 1 :(得分:0)

查看分配给浏览器的CakePHP cookie,以查看会话ID是否不断变化。如果确实如此,那么您的会话就不会被保留。

其次,值得检查$_SESSION超全球是否也可用。