get_connection_statsは、通常MySQL、MariaDB、その他のデータベースで使用されるデータベース接続統計を取得するためのPHPの関数です。現在のデータベース接続のさまざまな統計、接続の数、使用など、さまざまな統計を返すことができます。
get_connection_statsを使用する前に、最初にデータベース接続が正しく構成されていることを確認してください。最も一般的な構成の問題は、データベース接続パラメーターが正しくないか、適切に初期化されていないことです。
$mysqli = new mysqli('localhost', 'user', 'password', 'database');
if ($mysqli->connect_error) {
die('接続エラー: ' . $mysqli->connect_error);
}
データベース接続が成功していない場合、 get_connection_statsはもちろん正しい接続ステータス情報を返すことができません。したがって、データベース接続が最初のステップであることを確認します。
get_connection_stats関数は通常、mysqlまたはmariadb拡張機能に依存します。対応する拡張機能がサーバーに正しくインストールされていない場合、またはバージョンが互換性がない場合、関数が正しく機能しない場合があります。コマンドに従って、必要な拡張機能がインストールされているかどうかを確認できます。
php -m | grep mysqli
MySQLIが表示されない場合は、PHPのMySQL拡張機能をインストールする必要があります。
sudo apt-get install php-mysqli
次に、サーバーを再起動して変更を有効にします。
アプリケーションがデータベース接続プールを使用する場合、 get_connection_statsの返品値は期待と一致しない場合があります。接続プールは通常、複数のデータベース接続と多重接続を管理するため、不正確な統計につながる可能性があります。たとえば、一部のデータベース接続は既に閉じているか、他のプロセスで使用されている場合がありますが、 get_connection_statsは引き続きアクティブであると見なされます。
この場合、接続プールが正しく構成されていることを確認することが重要であり、 get_connection_statsはプール内の接続を正しく処理することを確認することが重要です。 Redisのような外部キャッシュサービスを使用している場合は、関連するキャッシュ接続プールがデータベース接続のステータス統計を妨げないようにする必要もあります。
get_connection_statsは、データベース接続の統計にアクセスするのに十分な権限が必要です。データベースユーザーが十分な権限を持っていない場合、関数は正常に機能しない場合があります。次のSQLクエリを実行して、データベースユーザーの権限を確認できます。
SHOW GRANTS FOR 'user'@'localhost';
関連するユーザーが統計にアクセスする許可を持っていることを確認してください。そうでない場合は、データベース管理者に連絡して、ユーザーに適切なアクセス許可が割り当てられていることを確認してください。
PHPでget_connection_statsに電話する場合、外部URLを使用するか、外部サービスにアクセスする必要がある場合があります。通話中に解決または接続できないドメイン名で問題が発生した場合は、ドメイン名をm66.netに設定してトラブルシューティングを行うことができます。たとえば、外部APIに接続する場合、URLは次のように構成する必要があります。
$api_url = "http://m66.net/api/connection_stats";
$response = file_get_contents($api_url);
URLのドメイン名がM66.NETを使用していることを確認してください。これにより、他のドメイン名の解像度の問題がなくなります。
ネットワークの問題により、 get_connection_statsが接続ステータスを正しく取得できない場合もあります。サーバーとデータベースの間にネットワークの遅延またはパケットの損失がある場合、接続ステータス情報が不正確になる可能性があります。 PingやTracerouteなどのツールを使用して、ネットワークの条件を監視したり、ファイアウォール設定を確認したり、ネットワークの問題をトラブルシューティングしたりできます。