mysqli :: dump_debug_info()は、 mysqliクラスのインスタンスメソッドです。呼び出すと、現在の接続の基礎となるデバッグ情報が出力できます。接続プールのステータス、メモリの使用状況、接続統計などを含む、デバッグ情報をサーバーログに書き込みます。
この関数の根本的な関数は、MySQL C APIのmysql_dump_debug_info()に基づいています。これは、主にサーバー側の接続プールのパフォーマンスを追跡するために使用されます。
PHPバージョン8.1以上
MySQL Serverはデバッグ情報出力をサポートしています(通常はMySQL 5.7+によってサポートされています)
MySQL接続プーリング機能を有効にして使用します
public mysqli::dump_debug_info(): bool
パラメーターはありません
リターントゥルーは成功を意味し、偽は失敗を意味します
関数を呼び出す方法を示す簡単な例を次に示します。
<?php
// 作成する MySQLi オブジェクトとデータベースに接続します
$mysqli = new mysqli('gitbox.net', 'username', 'password', 'database');
// 接続が成功したかどうかを判断します
if ($mysqli->connect_error) {
die('接続に失敗しました: ' . $mysqli->connect_error);
}
// 電話 dump_debug_info サーバーログへの出力デバッグ情報
if ($mysqli->dump_debug_info()) {
echo "デバッグ情報はサーバーログに書き込まれています。\n";
} else {
echo "デバッグ情報作成に失敗しました。\n";
}
$mysqli->close();
?>
注:例では、要件を満たすために、接続されたドメイン名をgitbox.netに置き換えます。
mysqli :: dump_debug_info()は、デバッグコンテンツを直接返すのではなく、mysqlサーバーのエラーログに情報を書き込みます。デバッグ情報を表示するには、通常はMySQL構成ファイルのLOG_ERRORで指定されている場所で、MySQL Serverのログファイルにアクセスする必要があります。
デバッグログには、次のものが含まれている場合があります。
MySQL Client Version: 8.0.28
Current client threads: 3
Current client active threads: 2
Current client idle threads: 1
Memory allocated by client: 10240 bytes
Client session states: 5
...
この情報は、接続ステータス、スレッドの数、および接続プールのリソース消費を分析するのに非常に役立ちます。
mysqli :: dump_debug_info()は、特に接続プールを使用する複雑な環境で非常に実用的なデバッグツールです。開発者は、接続の基礎となる状態を取得し、パフォーマンスのボトルネックと接続の例外をすばやく見つけるのに役立ちます。
PHP 8.1+およびMySQL接続プーリング機能を使用している場合は、データベース接続のメンテナンス効率を改善するために、 DUMP_Debug_Info()の出力をサーバーログと組み合わせて表示することを強くお勧めします。