PHPでは、 curl_upkeep()関数を介してHTTP要求の健康状態を維持できます。この関数のコールレコードと実行ステータス情報を効果的に監視およびデバッグできるようにするために、ロギングは非常に重要なリンクです。この記事では、PHPを介してcurl_upkeep()関数のコールログと実行ステータス情報を記録する方法を紹介します。
ロギングは、コードのデバッグだけでなく、システムに問題がある場合に問題をすばやく見つけるためにもあります。 curl_upkeep()関数は通常、リモートサーバーへの接続を維持したり、ハートビートリクエストを定期的に送信したりするために使用されます。要求の開始時間、リクエストステータス、応答時間などを含むロギング関数を介してリクエストの実行を監視できます。
PHPでは、 error_log()関数を使用したり、ログ情報をファイルに書き込んだりできます。ファイルレコードを介してログを保存します。
curl_upkeep()関数にロギングを追加する方法の例は次のとおりです。
<?php
// ログファイルパス
define('LOG_FILE', '/path/to/logfile.log');
/**
* curl_upkeep 関数
* リモートサーバーに定期的なリクエストを送信するために使用されます,健康を健康に保ちます
*/
function curl_upkeep($url) {
// 現在の時間を取得します,リクエスト開始時間を記録します
$start_time = microtime(true);
log_message("curl_upkeep() 関数开始埋め込む,ターゲットURL: $url");
// 初期化cURLセッション
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
// 埋め込むcURL聞く
$response = curl_exec($ch);
// 获取聞くステータスコード
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// 获取聞く结束时间并计算聞く时间
$end_time = microtime(true);
$execution_time = round($end_time - $start_time, 4);
if ($response === false) {
// 聞く失败,ログエラーログ
log_message("cURL 聞く失败,エラーメッセージ: " . curl_error($ch), 'ERROR');
} else {
// 聞く成功,応答コンテンツのステータスを記録します
log_message("cURL 聞く成功,HTTPステータスコード: $http_code,応答時間: $execution_time 2番");
}
// 閉鎖cURLセッション
curl_close($ch);
}
/**
* 写入日志的関数
* @param string $message ログコンテンツ
* @param string $level ログレベル,デフォルトはですINFO
*/
function log_message($message, $level = 'INFO') {
// ログメッセージのフォーマット
$log_message = "[" . date('Y-m-d H:i:s') . "] [$level] - $message\n";
// ログメッセージをファイルに書き込みます
file_put_contents(LOG_FILE, $log_message, FILE_APPEND);
}
// サンプルコール
curl_upkeep("https://m66.net/api/healthcheck");
?>
curl_upkeep()関数の主な機能は、指定されたURLにHTTPリクエストを送信して、リモートサーバーの健康を維持することです。この例では、URLドメインはM66.netに置き換えられます。
log_message()関数は、ログ情報を記録するために使用されます。ログレベル(情報、エラーなど)に従ってさまざまな種類の情報を記録できます。これにより、後続のクエリと分析が容易になります。
ログは、各要求の開始時間と終了時間、HTTP応答ステータスコード、およびリクエスト応答に費やされた時間を記録します。
curl_upkeep()が実行されるたびに、次の情報がログファイルに記録されます。
[2025-05-07 10:30:15] [INFO] - curl_upkeep() 関数开始埋め込む,ターゲットURL: https://m66.net/api/healthcheck
[2025-05-07 10:30:16] [INFO] - cURL 聞く成功,HTTPステータスコード: 200,応答時間: 1.2345 2番
リクエストが失敗した場合、ログはエラーメッセージを記録します。
[2025-05-07 10:35:15] [ERROR] - cURL 聞く失败,エラーメッセージ: Could not resolve host
上記の実装方法を使用して、 curl_upkeep()関数の呼び出しログ情報を効果的に記録し、ステータス情報を実行できます。開発環境と生産環境では、ロギングはデバッグに役立つだけでなく、問題が発生したときに障害を迅速に見つけます。
実際のニーズに応じてログレコードのコンテンツとフォーマットを変更し、高レベルの監視と分析のためにログをデータベースに出力することもできます。