Theo như tôi hiểu thì thời gian tồn tại của phiên tại Drupal bị giới hạn bởi session.gc_maxlifetime
cài đặt theo mặc định là khoảng 2,3 ngày.
Sau đó, việc sử dụng session.cookie_lifetime
được đặt thành 23 ngày là gì?
Đây là đoạn trích từ settings.php:
/**
* Set session lifetime (in seconds), i.e. the time from the user's last visit
* to the active session may be deleted by the session garbage collector. When
* a session is deleted, authenticated users are logged out, and the contents
* of the user's $_SESSION variable is discarded.
*/
ini_set('session.gc_maxlifetime', 200000);
/**
* Set session cookie lifetime (in seconds), i.e. the time from the session is
* created to the cookie expires, i.e. when the browser is expected to discard
* the cookie. The value 0 means "until the browser is closed".
*/
ini_set('session.cookie_lifetime', 2000000);
Hãy giả sử rằng tôi đã đặt cả hai session.gc_probability
và session.gc_divisor
thành 1 chỉ vì câu hỏi này.
Bởi vì bạn không muốn một cookie biến mất một cách bí ẩn? Bạn muốn nó ở đó để phiên có thể bị vô hiệu một cách duyên dáng? Điều này có gây ra bất kỳ vấn đề thực tế cho bạn?
—
Mołot
Thế là xong. Nhưng nó có phải là một ý tưởng tốt hơn để làm cho cookie hết hạn vào lúc 40 giờ và phiên máy chủ lúc 51 giờ không? Tôi có nghĩa là tuổi thọ cookie là ít hơn thời gian hết hạn máy chủ.
—
dùng5858
Điều này phần lớn dựa trên ý kiến và chỉ có các tác giả PHP thực sự có thể nói. Ồ, và nó phụ thuộc vào trình xử lý phiên bạn quyết định sử dụng. Nhưng thường thì không, bạn không muốn một phiên được cho là hoạt động và có thể sử dụng trong X nhiều giờ hơn mà không có ai sử dụng do thiếu cookie. Đó là một sự lãng phí lưu trữ. Để lại cookie lâu hơn có nghĩa là hầu như luôn có ai đó có thể sử dụng dữ liệu phiên được lưu trên máy chủ, vì vậy không có dữ liệu phiên nào được giữ là một sự lãng phí.
—
Mołot