เท่าที่ฉันเข้าใจว่าอายุการใช้งานเซสชันที่ Drupal ถูก จำกัด โดยsession.gc_maxlifetime
การตั้งค่าคือค่าเริ่มต้นตั้งไว้ที่ 2.3 วัน
ถ้าเช่นนั้นการใช้งานsession.cookie_lifetime
จะถูกกำหนดเป็น 23 วันอย่างไร?
นี่คือตัวอย่างจาก 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);
โปรดสมมติว่าฉันได้ตั้งค่าทั้งสองsession.gc_probability
และsession.gc_divisor
เป็น 1 เพียงเพื่อประโยชน์ของคำถามนี้
เพราะคุณไม่ต้องการให้คุกกี้หายตัวไปอย่างลึกลับ? คุณต้องการที่จะอยู่ที่นั่นเพื่อให้เซสชั่นสามารถถูกยกเลิกอย่างสง่างาม? สิ่งนี้ก่อให้เกิดปัญหาจริงหรือไม่สำหรับคุณ?
—
Mołot
แค่นั้นแหละ แต่จะเป็นการดีกว่าหรือไม่ที่จะทำให้คุกกี้หมดอายุในเวลา 40 ชั่วโมงและเซสชันเซิร์ฟเวอร์ที่ 51 ชั่วโมง ฉันหมายถึงอายุการใช้งานคุกกี้จะน้อยกว่าเวลาที่เซิร์ฟเวอร์หมดอายุ
—
user5858
นี่คือความเห็นส่วนใหญ่และผู้เขียน PHP เท่านั้นที่สามารถบอกได้จริงๆ โอ้และขึ้นอยู่กับตัวจัดการเซสชันที่คุณตัดสินใจใช้ แต่โดยปกติแล้วคุณไม่ต้องการเซสชันที่ควรใช้งานและใช้งานได้นานกว่า X ชั่วโมงโดยไม่มีใครใช้เนื่องจากคุกกี้หายไป มันเสียการจัดเก็บ การปล่อยคุกกี้อีกต่อไปหมายความว่ามีบางคนที่สามารถใช้ข้อมูลเซสชันที่เก็บไว้บนเซิร์ฟเวอร์ได้เกือบตลอดเวลาดังนั้นจึงไม่มีข้อมูลเซสชันที่เก็บไว้เป็นของเสีย
—
Mołot