2015-02-05 3 views
0

У меня есть приложение, в котором я работаю, в котором возникает проблема, когда случайно загружается пустая страница.Сессия началась, но не найдена в Cakephp

Я обнаружил, что срабатывает функция beforeFilter, но она никогда не переходит в действие контроллера, который вызывается в это время. Я также обнаружил, что сеанс, когда это происходит, не может быть найден. session_status() возвращает PHP_SESSION_NONE. Когда страница перезагружается, php может волшебным образом найти сеанс снова, и страница загружается нормально.

Любая помощь приветствуется. Если вам нужна дополнительная информация, просто дайте мне знать.

EDIT:

AppController beforeFilter

public function beforeFilter() { 

     parent::beforeFilter(); 

     // Log all access to applictaion 
     $this->AccessLog->logPageAccess($this->request, $this->Session); 

     // Read the app's desired datetime display and set as view variable for TimeHelper use. 
     if(Configure::check('Datetime.dateDisplayFormat')) { 
      $timeFormat = Configure::read('Datetime.dateDisplayFormat'); 
      $this->set(compact('timeFormat')); 
     } 
    } 

сессия Auth.User когда сессия найдено

array(
    'password' => '*****', 
    'id' => '44', 
    'role_id' => '5', 
    'username' => 'user', 
    'password_token' => null, 
    'email' => '[email protected]', 
    'email_verified' => true, 
    'email_token' => null, 
    'email_token_expires' => null, 
    'active' => true, 
    'is_login_locked' => false, 
    'last_login' => '2015-02-04 16:41:47', 
    'last_action' => null, 
    'created' => '2014-07-07 12:45:46', 
    'modified' => '2015-02-04 16:41:47', 
    'created_by' => '19', 
    'modified_by' => '44', 
    'deleted' => false, 
    'deleted_date' => null, 
    'account_locked' => false, 
    'lu_theme_id' => '4', 
    'first_name' => 'Joe', 
    'last_name' => 'Bloggs', 
    'Role' => array(
     'id' => '1', 
     'name' => 'User', 
     'is_admin' => false 
    ) 
) 

$ _SESSION, когда не найден

array() 

ответ

0

Вы работаете в A rray серверов под балансировщиком нагрузки? До сих пор я видел странность сеанса в этом типе среды.

+0

Наши производственные среды работают как таковые, но эта проблема возникает на нашем dev-сервере, который также является одним сервером. – GatorGuy023

+0

Можете ли вы вставить здесь функцию beforeFilter, а также краткое описание того, что вы храните в сеансе? т. е. будет ли он сконструирован Cake AuthComponent? Если доступ к открытому представлению невозможен, доступ к нему возможен только при входе в систему или он разблокируется через beforeFilter(), это происходит повсюду или только на определенных контроллерах/представлениях? –

+0

Это происходит везде в приложении. См. Править выше для запрошенного кода. – GatorGuy023

Смежные вопросы