WP_Site_Health::get_test_php_sessions()publicWP 5.5.0

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

Метод класса: WP_Site_Health{}

Хуков нет.

Возвращает

Массив. The test results.

Использование

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

Список изменений

С версии 5.5.0 Введена.

Код WP_Site_Health::get_test_php_sessions() WP 6.4.3

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;
}