From ac1a9079a066e5a224ed9442e779b3af49d320b9 Mon Sep 17 00:00:00 2001 From: Franck Adil Koumba <42721509+franckadil@users.noreply.github.com> Date: Fri, 11 Sep 2020 16:30:58 +0200 Subject: [PATCH] Update class-fw-session.php PHP sessions created with session_start() function may cause issues with REST API and loopback requests due to cURL error 28. According to recommendations of WordPress core team active PHP session should be closed before making any HTTP requests --- framework/helpers/class-fw-session.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/framework/helpers/class-fw-session.php b/framework/helpers/class-fw-session.php index a52a0b173..eee9b6ac4 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(); } }