Сессия cakephp не работает на общем хосте (godaddy, ICDsoft)

У меня есть приложение, разработанное с использованием Cakephp. Сессия отлично работает и на локальном хосте. Я вижу, что сеанс можно установить и прочитать на локальном хосте, я также вижу файл сеанса, созданный как session_save_path, определенный в php.ini.

Во-первых, я написал небольшой php-файл проверки сеанса, чтобы проверить общий хост, я на 100% уверен, что общий хост не имеет проблем с сеансом.

Однако сеанс, похоже, не работает на общем хосте. Я могу установить сеанс, я также вижу файл сеанса, созданный на хосте, но когда я обновляю его и делаю: $this->Session->read("User.id"); $this->Session->check("User.id");

Ничего нет.

Что я должен делать? Это как-то связано с кешем cakephp?


person user1235231    schedule 29.09.2012    source источник


Ответы (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'));
  }

Кажется, что данные сеанса были сохранены и прочитаны правильно. Если у вас все еще есть проблема с установкой CakePHP на сервере ICDSoft, мы рекомендуем вам обратиться в нашу службу поддержки. Мы не всегда можем обеспечить надлежащую поддержку отладки, но мы всегда готовы попробовать.

С наилучшими пожеланиями,

Команда ICDSoft

person ICDSoft Team    schedule 15.10.2012

Взгляните на файл cookie CakePHP, назначенный вашему браузеру, чтобы увидеть, продолжает ли меняться идентификатор сеанса. Если это так, то ваш сеанс не сохраняется.

Во-вторых, возможно, стоит проверить, можно ли использовать суперглобальный $_SESSION.

person Sam Delaney    schedule 15.10.2012