Từ hướng dẫn sử dụng PHP, trạng thái session.gc_probability và session.gc_divisor rằng gc sẽ xảy ra dựa trên xác suất này. Tôi hiểu rồi.Thu hồi bộ sưu tập rác PHP
Điều tôi không rõ ràng là liệu xác suất này có trên phiên theo phiên hoặc tổng thể hay không. Vì vậy, nếu xác suất của tôi là 1% (1/100) GC sẽ xảy ra, điều đó có nghĩa là nếu một phiên tiếp tục được gia hạn, mỗi lần có thay đổi 1% mà phiên cụ thể đó sẽ được dọn sạch? Hoặc điều này có nghĩa là 1% của tất cả các phiên hiện có (cũng như các phiên mới) sẽ kích hoạt GC cho tất cả các phiên hiện có khác?
Tôi chắc chắn đó là thứ hai, tôi chỉ muốn đảm bảo.
Mục đích của câu hỏi này là trên trang web của chúng tôi, tôi muốn người dùng có các phiên dài hạn (6 tháng). Nếu 1% tất cả các phiên kích hoạt GC, thì điều đó có hiệu quả loại bỏ mục đích có phiên dài hạn đó, vì GC sẽ kết thúc sau mỗi hoặc hai giờ.
câu hỏi rất thú vị! +1 –
liên quan http://stackoverflow.com/questions/3865303/debian-based-systems-session-killed-at-30-minutes-in-special-cron-how-to-overri –
Đối với bất kỳ ai khác đang đọc nỗ lực này ở trên, với 6 tháng của tập tin phiên nó có thể gây ra vấn đề hiệu suất nghiêm trọng (như đã nêu dưới đây). Tuy nhiên, bạn có thể sử dụng session_set_save_handler() để viết một trình xử lý phiên tùy chỉnh sẽ sử dụng DB thay vì FS, phủ nhận nhiều hình phạt hiệu suất. – Meep3D