2014-11-29 5 views
0

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

Я использую xampp на ноутбуке Windows и работаю на локальном хосте, и это происходит во всех браузерах. Я не очень опытный с устранения этих видов проблем - я был в состоянии установить следующее:

  • Пользователь может войти в систему (Auth-> логин() успешно регистрирует пользователя в), вопрос сессия исчезает, когда они перенаправляются
  • Я могу видеть Сессии записываются в моей/TMP/директории, содержащей (что выглядит) правильные данные
  • я могу создать мои собственные глупые печенья и их значения сохраняются
  • Для сайта не существует никаких файлов cookie

Итак, мне кажется, что cookie сеанса не настроен, но у меня кончились идеи о том, почему это может произойти. Я не изменил настройки браузера, связанные с cookie (за исключением включения файлов cookie в IE), и я дважды проверил настройки Chrome cookie. Я также, как я уже упоминал, написал некоторые нежелательные файлы cookie в AppController, и я вижу, что они созданы, и их данные сохраняются.

Если я вызываю $ _SESSION после входа в систему(), все выглядит великолепно, но если я буду печатать $ _SESSION перед входом в систему, он пуст.

Я совершенно уверен, что мне удалось сделать что-то замедленное, но у меня закончились идеи относительно того, что это может быть. Я восстановил свой /app/core.php, чтобы быть торт по умолчанию:

Configure::write('Session', array(
    'defaults' => 'php' 
)); 
функция

Мой Логин() выглядит в основном следующим образом:

public function login() { 
    if ($this->request->is('post')) { 
     if ($this->Auth->login()) { 
      return $this->redirect($this->Auth->redirect());   
     } else { 
      $this->Session->setFlash(__('Invalid username or password, try again.')); 
     } 

параметры аутентификации в AppController:

class AppController extends Controller { 
public $components = array(
    'Session', 
    'Cookie', 
    'Acl', 
    'Email', 
    'Auth' => array(
     'authenticate' => array(
      'Form' => array(
       'fields' => array('username' => 'email', 'password' => 'password') 
     )), 
     'authorize' => array(
      'Actions' => array('actionPath' => 'controllers') 
     ), 
     'loginRedirect' => array('controller' => 'users', 'action' => 'dashboard'), 
    ), 
); 

И пример вывода из печати $ this-> Auth-> user(), $ _SESSION перед перенаправлением в login():

\app\Controller\UsersController.php (line 203) 
array(
    'id' => '10', 
    'name' => 'super', 
    'is_active' => '1', 
    'email' => '[email protected]', 
    'group_id' => '3', 
    'address' => '3', 
    'phone' => 'xxxxx', 
    'category' => 'P', 
    'communication_in' => 'E', 
    'created' => '2014-11-29 16:27:19', 
    'modified' => '2014-11-29 16:27:19', 
    'Group' => array(
     'id' => '3', 
     'name' => 'Administrators', 
     'created' => '2014-11-16 21:01:35', 
     'modified' => '2014-11-16 21:01:35' 
    ) 
) 
\app\Controller\UsersController.php (line 204) 
array(
    'Config' => array(
     'userAgent' => '4af162a3a94462226b6e93c6806203aa', 
     'time' => (int) 1417317929, 
     'countdown' => (int) 10, 
     'language' => 'eng' 
    ), 
    'Auth' => array(
     'User' => array(
      'id' => '10', 
      'name' => 'super', 
      'is_active' => '1', 
      'email' => '[email protected]', 
      'group_id' => '3', 
      'address' => '3', 
      'phone' => 'xxxx', 
      'category' => 'P', 
      'communication_in' => 'E', 
      'created' => '2014-11-29 16:27:19', 
      'modified' => '2014-11-29 16:27:19', 
      'Group' => array(
       'id' => '3', 
       'name' => 'Administrators', 
       'created' => '2014-11-16 21:01:35', 
       'modified' => '2014-11-16 21:01:35' 
      ) 
     ) 
    ) 
) 

Последний созданный файл сессии:

Config | а: 4: {s: 9: "UserAgent"; s: 32: "4af162a3a94462226b6e93c6806203aa"; s: 4: "время", я: 1417317929; s: 9: "обратный отсчет"; я: 10; s: 8: "язык"; s: 3: "рус";} Авт | а: 1: {s: 4: "Пользователь"; а: 12: {s: 2 : "идентификатор"; s: 2: "10"; s: 4: "имя"; s: 5: "супер"; s: 9: "is_active"; s: 1: "1"; s: 5:» по электронной почте "; s: 14:" [email protected] "; s: 8:" group_id "; s: 1:" 3 "; s: 7:" адрес "; s: 1:" 3" ; s: 5 : "телефон"; s: 10: "ххххх"; s: 8: "категория"; s: 1: "Р"; s: 16: "communication_in"; s: 1: "Е"; s: 7:» Создано "; s: 19:" 2014-11-29 16:27:19 "; s: 8:" modified "; s: 19:" 2014-11-29 16:27:19 "; s: 5: Группа "; а: 4: {s: 2:" ID "; s: 1:" 3 "; s: 4:" имя "; s: 14:" Администраторы "; s: 7:" создано "; s: 19: «2014-11-16 21:01:35»; s: 8: «изменено»; s: 19: «2014-11-16 21:01:35»;}}}

ответ

1

F acepalm дня: Много часов спустя, я, наконец, решил проверить phpinfo(), и, конечно, домен session.cookie был установлен на удаленный сайт. Полагаю, что в какой-то момент на прошлой неделе я редактировал неправильный PHP-файл.

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