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

问题描述 投票:0回答:2

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

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

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

空无一物。

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

session cakephp shared host
2个回答
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团队


0
投票

看一下分配给浏览器的CakePHP cookie,看看会话ID是否在不断变化。如果是,那么您的会话不会被持久化。

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

© www.soinside.com 2019 - 2024. All rights reserved.