Mysqlnd_ms 関数
PHP Manual

mysqlnd_ms_dump_servers

(バージョン情報なし。おそらく SVN 版にしか存在しないでしょう)

mysqlnd_ms_dump_serversReturns a list of currently configured servers

説明

array mysqlnd_ms_dump_servers ( mixed $connection )

Returns a list of currently configured servers.

パラメータ

connection

A MySQL connection handle obtained from any of the connect functions of the mysqli, mysql or PDO_MYSQL extensions.

返り値

FALSE on error. Otherwise, returns an array with two entries masters and slaves each of which contains an array listing all corresponding servers.

The function can be used to check and debug the list of servers currently used by the plugin. It is mostly useful when the list of servers changes at runtime, for example, when using MySQL Fabric.

masters and slaves server entries

Key Description Version
name_from_config

Server entry name from config, if appliciable. NULL if no configuration name is available.

Since 1.6.0.
hostname

Host name of the server.

Since 1.6.0.
user

Database user used to authenticate against the server.

Since 1.6.0.
port

TCP/IP port of the server.

Since 1.6.0.
socket

Unix domain socket of the server.

Since 1.6.0.

注意

注意:

mysqlnd_ms_dump_servers() requires PECL mysqlnd_ms >> 1.6.0.

例1 mysqlnd_ms_dump_servers() example

{
    "myapp": {
        "master": {
            "master1": {
                "host":"master1_host",
                "port":"master1_port",
                "socket":"master1_socket",
                "db":"master1_db",
                "user":"master1_user",
                "password":"master1_pw"
            }
        },
        "slave": {
             "slave_0": {
                 "host":"slave0_host",
                 "port":"slave0_port",
                 "socket":"slave0_socket",
                 "db":"slave0_db",
                 "user":"slave0_user",
                 "password":"slave0_pw"
             },
             "slave_1": {
                 "host":"slave1_host"
             }
        }
    }
}
<?php
$link 
mysqli_connect("myapp""global_user""global_pass""global_db"1234"global_socket");
var_dump(mysqlnd_ms_dump_servers($link);
?>

上の例の出力は以下となります。

array(2) {
  ["masters"]=>
  array(1) {
    [0]=>
    array(5) {
      ["name_from_config"]=>
      string(7) "master1"
      ["hostname"]=>
      string(12) "master1_host"
      ["user"]=>
      string(12) "master1_user"
      ["port"]=>
      int(3306)
      ["socket"]=>
      string(14) "master1_socket"
    }
  }
  ["slaves"]=>
  array(2) {
    [0]=>
    array(5) {
      ["name_from_config"]=>
      string(7) "slave_0"
      ["hostname"]=>
      string(11) "slave0_host"
      ["user"]=>
      string(11) "slave0_user"
      ["port"]=>
      int(3306)
      ["socket"]=>
      string(13) "slave0_socket"
    }
    [1]=>
    array(5) {
      ["name_from_config"]=>
      string(7) "slave_1"
      ["hostname"]=>
      string(11) "slave1_host"
      ["user"]=>
      string(12) "gloabal_user"
      ["port"]=>
      int(1234)
      ["socket"]=>
      string(13) "global_socket"
    }
  }
}


Mysqlnd_ms 関数
PHP Manual