diff --git a/framework/helpers/class-fw-session.php b/framework/helpers/class-fw-session.php index a52a0b17..eee9b6ac 100644 --- a/framework/helpers/class-fw-session.php +++ b/framework/helpers/class-fw-session.php @@ -10,7 +10,9 @@ class FW_Session { private static function start_session() { if ( apply_filters( 'fw_use_sessions', true ) && ! session_id() ) { - session_start(); + session_start([ + 'read_and_close' => true, // Closing session to avoid loopback error. +]); } } @@ -22,17 +24,20 @@ public static function get( $key, $default_value = null ) { self::start_session(); return fw_akg( $key, $_SESSION, $default_value ); + session_write_close(); } public static function set( $key, $value ) { self::start_session(); fw_aks( $key, $value, $_SESSION ); + session_write_close(); } public static function del( $key ) { self::start_session(); fw_aku( $key, $_SESSION ); + session_write_close(); } }