WP_Site_Health::get_test_php_sessions()publicWP 5.5.0

Tests if there's an active PHP session that can affect loopback requests.

Method of the class: WP_Site_Health{}

No Hooks.

Return

Array. The test results.

Usage

$WP_Site_Health = new WP_Site_Health();
$WP_Site_Health->get_test_php_sessions();

Changelog

Since 5.5.0 Introduced.

WP_Site_Health::get_test_php_sessions() code WP 6.6.2

public function get_test_php_sessions() {
	$result = array(
		'label'       => __( 'No PHP sessions detected' ),
		'status'      => 'good',
		'badge'       => array(
			'label' => __( 'Performance' ),
			'color' => 'blue',
		),
		'description' => sprintf(
			'<p>%s</p>',
			sprintf(
				/* translators: 1: session_start(), 2: session_write_close() */
				__( 'PHP sessions created by a %1$s function call may interfere with REST API and loopback requests. An active session should be closed by %2$s before making any HTTP requests.' ),
				'<code>session_start()</code>',
				'<code>session_write_close()</code>'
			)
		),
		'test'        => 'php_sessions',
	);

	if ( function_exists( 'session_status' ) && PHP_SESSION_ACTIVE === session_status() ) {
		$result['status'] = 'critical';

		$result['label'] = __( 'An active PHP session was detected' );

		$result['description'] = sprintf(
			'<p>%s</p>',
			sprintf(
				/* translators: 1: session_start(), 2: session_write_close() */
				__( 'A PHP session was created by a %1$s function call. This interferes with REST API and loopback requests. The session should be closed by %2$s before making any HTTP requests.' ),
				'<code>session_start()</code>',
				'<code>session_write_close()</code>'
			)
		);
	}

	return $result;
}