Aktualizacje sesji CakePHP, ale nie wygasają pliki cookie

Krótkie pytanie:

Dlaczego czas wygaśnięcia plików cookie sesji nie jest aktualizowany w przeglądarce, gdy czas sesji mojej sesji jest aktualizowany na serwerze?

Długie pytanie:

Wysłałem apodobne pytanie o tym kilka tygodni temu, ale nie miałem wtedy wszystkich faktów. Mam teraz więcej szczegółów, a charakter pytania zmienił się, więc publikuję go jako nowe pytanie.

Po pierwsze, w CakePHP 2 skonfigurowałem APP / Config / core.php na następujące sesje:

    Configure::write('Session', array(
        'defaults' => 'database',
        'cookie' => 'mycookie',
        'timeout' => 1 // 1 minute - just for testing
    ));

Tak więc ładuję stronę, która w mojej aplikacji tworzy sesję w bazie danych. Jak dotąd wszystko dobrze.

Sesja jest stemplowana do wygaśnięcia w dniu1341288066 co jest równeTue, 03 Jul 2012 04:01:06 GMT. Ponownie, jest to świetne, bo za 1 minutę. Dokładnie to, czego chciałem.

Jeśli spojrzę na ekran cookie Firefoksa, znajduję plik cookie, tak jak bym się spodziewał:

    Name: mycookie
    Content: aqm0gkmjfsuqje019at8cgsrv3
    Host: localhost
    Path: /
    Send for: Any type of connection
    Expires: Tue 03 Jul 2012 11:01:06 AM ICT  // (04:01:06 GMT)

Teraz w tym 1-minutowym oknie wracam do mojej aplikacji i odświeżam stronę. Następnie sprawdzam sesję, aby sprawdzić, czy jest zaktualizowana. To pokazuje1341288122 przeciwko identyfikatorowi sesjiaqm0gkmjfsuqje019at8cgsrv3 co jest równeTue, 03 Jul 2012 04:02:02 GMT czego ponownie oczekiwałem. Ważność sesji została zaktualizowana do 1 minuty od ostatniego przeładowania strony.

Niestety, plik cookie w przeglądarce jest nadal ustawiony naExpires: Tue 03 Jul 2012 11:01:06 AM ICT (to znaczy:04:01:06 GMT) i to jest dokładnie to, co robi, co oznacza, że ​​następnym razem, gdy nacisnę odświeżenie, Cake wygeneruje zupełnie nowy identyfikator sesji, nawet jeśli stary jest nadal poprawny technicznie.

Moje pytanie brzmi zasadniczo, co tu się dzieje? Dlaczego plik cookie nie jest aktualizowany o nową datę ważności w przeglądarce?

questionAnswers(2)

yourAnswerToTheQuestion