En PHP, nous pouvons maintenir l'état de santé des demandes HTTP via la fonction Curl_upkeed () . Afin de s'assurer que les enregistrements d'appel et l'exécution des informations d'état de cette fonction peuvent être surveillés et débogués efficacement, la journalisation est un lien très important. Cet article présentera comment enregistrer le journal des appels et exécuter les informations d'état de la fonction curl_upkeed () via PHP.
La journalisation n'est pas seulement pour le code de débogage, mais aussi pour localiser rapidement les problèmes lorsqu'il y a un problème dans le système. La fonction curl_upkeed () est généralement utilisée pour maintenir une connexion à un serveur distant, ou pour envoyer régulièrement des demandes de rythme cardiaque, etc. Nous pouvons surveiller l'exécution des demandes via des fonctions de journalisation, y compris le début et l'heure de fin de la demande, l'état de la demande, le temps de réponse, etc.
Dans PHP, nous pouvons utiliser la fonction error_log () ou écrire des informations de journal dans un fichier. Nous enregistrerons les journaux via des enregistrements de fichiers.
Voici un exemple de la façon d'ajouter de la journalisation dans la fonction curl_upkeep () :
<?php
// Chemin de fichier journal
define('LOG_FILE', '/path/to/logfile.log');
/**
* curl_upkeep fonction
* Utilisé pour envoyer des demandes périodiques aux serveurs distants,Restez connecté en bonne santé
*/
function curl_upkeep($url) {
// Obtenez l'heure actuelle,Enregistrez l'heure de début de la demande
$start_time = microtime(true);
log_message("curl_upkeep() fonction开始mettre en œuvre,CibleURL: $url");
// initialisationcURLSession
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
// mettre en œuvrecURLdemander
$response = curl_exec($ch);
// 获取demanderCode d'état
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// 获取demander结束时间并计算demander时间
$end_time = microtime(true);
$execution_time = round($end_time - $start_time, 4);
if ($response === false) {
// demander失败,Journal d'erreur de journal
log_message("cURL demander失败,message d'erreur: " . curl_error($ch), 'ERROR');
} else {
// demander成功,Enregistrez l'état du contenu de réponse
log_message("cURL demander成功,HTTPCode d'état: $http_code,Temps de réponse: $execution_time Deuxième");
}
// fermeturecURLSession
curl_close($ch);
}
/**
* 写入日志的fonction
* @param string $message Journal du contenu
* @param string $level Niveau de journal,La valeur par défaut estINFO
*/
function log_message($message, $level = 'INFO') {
// Format les messages du journal
$log_message = "[" . date('Y-m-d H:i:s') . "] [$level] - $message\n";
// Écrivez des messages de journal dans le fichier
file_put_contents(LOG_FILE, $log_message, FILE_APPEND);
}
// Exemple d'appel
curl_upkeep("https://m66.net/api/healthcheck");
?>
La fonction principale de la fonction curl_upkeed () est d'envoyer des demandes HTTP à l'URL spécifiée pour maintenir la santé du serveur distant. Dans cet exemple, le domaine URL est remplacé par m66.net .
La fonction LOG_MESSAGE () est utilisée pour enregistrer les informations du journal. Nous pouvons enregistrer différents types d'informations en fonction du niveau de journal (tels que les informations, l'erreur), qui facilite les requêtes et l'analyse ultérieures.
Le journal enregistre les heures de début et de fin de chaque demande, le code d'état de réponse HTTP et le temps passé dans la réponse de la demande.
Chaque fois que curl_upkeep () est exécuté, les informations suivantes seront enregistrées dans le fichier journal:
[2025-05-07 10:30:15] [INFO] - curl_upkeep() fonction开始mettre en œuvre,CibleURL: https://m66.net/api/healthcheck
[2025-05-07 10:30:16] [INFO] - cURL demander成功,HTTPCode d'état: 200,Temps de réponse: 1.2345 Deuxième
Si la demande échoue, le journal enregistrera le message d'erreur:
[2025-05-07 10:35:15] [ERROR] - cURL demander失败,message d'erreur: Could not resolve host
Grâce à la méthode d'implémentation ci-dessus, nous pouvons enregistrer efficacement le journal des appels et exécuter les informations d'état de la fonction curl_upkeed () . Dans les environnements de développement et de production, l'exploitation forestière aide non seulement à déboguer, mais localise rapidement les défauts lorsque des problèmes surviennent.
Vous pouvez modifier le contenu et le format des enregistrements de journal en fonction des besoins réels, et même publier les journaux à la base de données pour une surveillance et une analyse de niveau supérieur.