Tôi thiết lập phiên bản thử nghiệm của trang web được mã hóa bằng PHP sử dụng phiên để xử lý thông tin đăng nhập của người dùng. Trên máy chủ thử nghiệm, phiên sẽ hết hạn khi đóng trình duyệt, vì sao chép tất cả mọi thứ sang máy chủ "sạch", phiên sẽ vẫn ở đúng vị trí trên trình duyệt và người dùng vẫn đăng nhập ngay cả vào ngày hôm sau sau khi khởi động lại toàn bộ hệ thống.Tại sao phiên không hết hạn khi trình duyệt đóng khi session.cookie_lifetime = 0?
Trong php.ini
; Lifetime in seconds of cookie or, if 0, until browser is restarted. ; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime session.cookie_lifetime = 0
nào ngụ ý rằng nó nên hết hạn vào trình duyệt khởi động lại.
Tôi nghĩ có lẽ nó đã bị ghi đè ở đâu đó, nhưng nếu tôi print_r các session_get_cookie_params trong PHP tôi nhận được
Array
(
[lifetime] => 0
[path] =>/
[domain] =>
[secure] =>
[httponly] =>
)
Có điều gì tôi đang thiếu?
bạn đã thử nó trên các trình duyệt khác? Bạn đang dùng trình duyệt nào? Giá trị hết hạn có thể được gửi đến trình duyệt, nhưng trình duyệt có thể từ chối xóa cookie khi đóng. Kiểm tra cài đặt trình duyệt của bạn và kiểm tra trên các trình duyệt khác. – mauris
Cũng tương tự như vậy trong Firefox và IE. Chắc chắn nếu nó là một vấn đề trình duyệt, tương tự sẽ xảy ra trên máy chủ thử nghiệm như là trực tiếp. Các hành vi không xảy ra trên các trang web khác (mà tôi đã nhận thấy anyway) –
Hơn nữa, nó đã được nhận thấy bởi khách hàng trang web được xây dựng cho và anh ta không muốn nó xảy ra! –