2013-11-21 17 views
8

Nie mogę znaleźć ostatecznej odpowiedzi w Internecie, więc proszę tutaj.Kiedy kończy się sesja PHP?

Kiedy używa się session_start(); w skrypcie .php i zapisuje niektóre wartości, kiedy kończy się sesja? Kiedy te wartości nie będą znów dostępne?

Zauważyłem, że odświeżenie strony lub zatrzymanie sesji w sposób kodowy spowodowałoby jej zatrzymanie, a możliwy czas zatrzymania również zatrzymał sesję. A co powiesz na nawigację z witryny i powrót po minucie? I zamknięcie przeglądarki?

Co w przypadku urządzenia mobilnego oznacza "zamknięcie przeglądarki"? Zamknięcie karty, a nawet zminimalizowanie witryny?

+0

Krótka odpowiedź zależy od przeglądarki. –

+0

Może zależeć od konfiguracji serwera – Carlos487

Odpowiedz

5

Jeśli wartości sesji nie są powiązane z żadnym plikiem cookie, sesja zakończy się, gdy przeglądarka systemu Windows zostanie zamknięta.

Jeśli zmienna sesji pochodzi z pliku cookie, sesja zakończy się po czasie podanym w pliku cookie.

W PHP sesje działają z plikiem cookie typu session. Po stronie serwera informacje o sesji są ciągle usuwane.

Aby ustawić czas życia cookie w PHP, można użyć session_set_cookie_params funkcyjnych przed session_start:

session_set_cookie_params(3600,"/"); 
session_start(); 

Dla ex, 3600 sekunda jest jedną godzinę, w ciągu 2 godzin 3600 * 2 = 7200

Ale to plik cookie sesji, przeglądarka może sprawić, że wygasa sama, jeśli chcesz zapisać dłuższe sesje (np. Zapamiętaj login), musisz zapisać dane na serwerze i standardowy plik cookie po stronie klienta.

Nawigowanie z witryny przy użyciu plików cookie nie spowoduje przerwania sesji.

1

Są dwie rzeczy, które mogą skutecznie zakończyć sesję:

  1. cookie powiązanie go do przeglądarki zostanie zniszczony. PHP zazwyczaj używa plików cookie sesji. Są one usuwane, gdy przeglądarka jest zamknięta. Przeglądarka , a nie karta. Można je również usunąć ręcznie.
  2. Gdy serwer nie otrzymał żądania przeglądarki z plikiem cookie sesji dla sesji przez określony czas (zdefiniowany w session.gc_maxlifetime) i czyści dane sesji.
Powiązane problemy