Hướng dẫn var/lib/php sessions cleanup - dọn dẹp phiên var / lib / php
Có, thảo luận về điều này có thể được tìm thấy trong hướng dẫn ở đây: Bạn muốn xem tất cả các cài đặt phiên.gc_, vì đó là những biến có ảnh hưởng đến khả năng thu thập rác đang chạy. Như đã nói, một cái gì đó rõ ràng là sai, vì có vẻ như các tệp phiên của bạn không bị xóa. Bạn cần phải tính đến cài đặt phiên.gc_maxlifetime trong tệp php.ini của bạn, vì sẽ không có tệp nào bị xóa cho đến khi số giây đó được truyền qua. Nếu gc_maxlifetime của bạn quá dài, các tệp sẽ tích lũy. Kịch bản này là một tập lệnh PHP dòng lệnh theo định hướng theo định hướng có thể được cài đặt và chạy hàng ngày hoặc hàng tuần để chạy bộ thu gom rác. Tôi sẽ bắt đầu với điều đó và xem những gì xảy ra. Có thể có các vấn đề về quyền thực sự ngăn người thu gom rác xóa các phiên, vì vậy bắt đầu với một chương trình chạy thủ công này và xem những gì xảy ra với số lượng tệp phiên sẽ là một khởi đầu tốt. Nếu bạn có PHP7.1, đây là mã được đề xuất từ hướng dẫn.
Một chương trình cho các phiên bản PHP cũ hơn nên hoạt động theo cách tương tự sẽ là:
Ý tưởng ở đây là bạn đang đảm bảo rằng người thu gom rác sẽ chạy bằng cách tạo xác suất 100% cho tập lệnh này. (Php 4, Php 5, Php 7, Php 8) session_destroy - Phá hủy tất cả dữ liệu được đăng ký vào một phiên — Destroys all data registered to a session Sự mô tảsession_destroy (): bool(): bool session_destroy () phá hủy tất cả các dữ liệu được liên kết với phiên hiện tại. Nó không hủy bỏ bất kỳ biến toàn cầu nào liên quan đến phiên hoặc mở cookie phiên. Để sử dụng lại các biến phiên, session_start () phải được gọi. destroys all of the data associated with the current session. It does not unset any of the global variables associated with the session, or unset the session cookie. To use the session variables again, session_start() has to be called.
Để tiêu diệt phiên hoàn toàn, ID phiên cũng phải không được đặt. Nếu cookie được sử dụng để tuyên truyền ID phiên (hành vi mặc định), thì cookie phiên phải bị xóa. setCookie () có thể được sử dụng cho điều đó.setcookie() may be used for that. Khi phiên.use_strict_mode được bật. Bạn không phải xóa cookie ID phiên lỗi thời vì mô -đun phiên sẽ không chấp nhận cookie ID phiên khi không có dữ liệu liên quan đến ID phiên và đặt cookie ID phiên mới. Kích hoạt phiên.use_strict_mode được khuyến nghị cho tất cả các trang web. Cảnh báo Xóa phiên ngay lập tức có thể gây ra kết quả không mong muốn. Khi có các yêu cầu đồng thời, các kết nối khác có thể thấy mất dữ liệu phiên đột ngột. ví dụ. Yêu cầu từ JavaScript và/hoặc yêu cầu từ các liên kết URL. Mặc dù mô -đun phiên hiện tại không chấp nhận cookie ID phiên trống, nhưng việc xóa phiên ngay lập tức có thể dẫn đến cookie ID phiên trống do điều kiện đua phụ của máy khách (trình duyệt). Điều này sẽ dẫn đến việc khách hàng tạo ra nhiều ID phiên không cần thiết. Để tránh những điều này, bạn phải đặt dấu thời gian xóa thành $ _Session và từ chối truy cập trong khi sau này. Hoặc đảm bảo ứng dụng của bạn không có yêu cầu đồng thời. Điều này cũng áp dụng cho session_regenerate_id ().session_regenerate_id() also. Thông sốChức năng này không có tham số. Trả về giá trị Trả về Ví dụVí dụ số 1 phá hủy một phiên với $ _Session
Xem thêm
Praveen V ¶ ¶ 10 năm trước
Jack Luo ¶ ¶ 8 năm trước
0 1
JBH ¶ ¶ 5 năm trước 3 4 5 6
Greald tại Gmail Dot Com ¶ ¶ 1 năm trước 8
|