Position actuelle: Accueil> Derniers articles> Comment enregistrer le journal des appels et l'état de curl_upkeed ()

Comment enregistrer le journal des appels et l'état de curl_upkeed ()

M66 2025-05-31

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.

1. Exigences pour l'exploitation forestière

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.

2. Utilisez PHP pour enregistrer les journaux

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.

3. Exemple de code

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&#39;heure actuelle,Enregistrez l&#39;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&#39;é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&#39;erreur de journal
        log_message("cURL demander失败,message d&#39;erreur: " . curl_error($ch), 'ERROR');
    } else {
        // demander成功,Enregistrez l&#39;état du contenu de réponse
        log_message("cURL demander成功,HTTPCode d&#39;é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&#39;appel
curl_upkeep("https://m66.net/api/healthcheck");

?>

4. Description du code

  • 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.

5. Exemple de journalisation

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&#39;é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&#39;erreur: Could not resolve host

6. Conclusion

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.