WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Самая быстрая Тема-конструктор для WordPress
функция не описана

wpdb::parse_db_host() public WP 4.9.0

Parses the DB_HOST setting to interpret it for mysqli_real_connect().

mysqli_real_connect() doesn't support the host param including a port or socket like mysql_connect() does. This duplicates how mysql_connect() detects a port and/or socket file.

{} Это метод класса: wpdb{}

Хуков нет.

Возвращает

Массив/false. Array containing the host, the port, the socket and whether it is an IPv6 address, in that order. False if $host couldn't be parsed.

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

global $wpdb;
$wpdb->parse_db_host( $host );
$host(строка) (обязательный)
The DB_HOST setting to parse.

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

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

Код wpdb::parse_db_host() WP 5.5.2

<?php
public function parse_db_host( $host ) {
	$port    = null;
	$socket  = null;
	$is_ipv6 = false;

	// First peel off the socket parameter from the right, if it exists.
	$socket_pos = strpos( $host, ':/' );
	if ( false !== $socket_pos ) {
		$socket = substr( $host, $socket_pos + 1 );
		$host   = substr( $host, 0, $socket_pos );
	}

	// We need to check for an IPv6 address first.
	// An IPv6 address will always contain at least two colons.
	if ( substr_count( $host, ':' ) > 1 ) {
		$pattern = '#^(?:\[)?(?P<host>[0-9a-fA-F:]+)(?:\]:(?P<port>[\d]+))?#';
		$is_ipv6 = true;
	} else {
		// We seem to be dealing with an IPv4 address.
		$pattern = '#^(?P<host>[^:/]*)(?::(?P<port>[\d]+))?#';
	}

	$matches = array();
	$result  = preg_match( $pattern, $host, $matches );

	if ( 1 !== $result ) {
		// Couldn't parse the address, bail.
		return false;
	}

	$host = '';
	foreach ( array( 'host', 'port' ) as $component ) {
		if ( ! empty( $matches[ $component ] ) ) {
			$$component = $matches[ $component ];
		}
	}

	return array( $host, $port, $socket, $is_ipv6 );
}