Maison développement back-end tutoriel php Comment déboguer les requêtes HTTP des fonctions PHP à l'aide de Guzzle Debugger ?

Comment déboguer les requêtes HTTP des fonctions PHP à l'aide de Guzzle Debugger ?

Apr 23, 2024 pm 02:06 PM
composer guzzle http 请求

如何用 Guzzle Debugger 调试 PHP 函数的 HTTP 请求?

如何用 Guzzle Debugger 调试 PHP 函数的 HTTP 请求?

Guzzle Debugger 是一个功能强大的工具,它可以让你深入了解 PHP 函数中发出的 HTTP 请求。通过提供详细的日志和诊断信息,它有助于识别并解决与请求和响应相关的任何问题。

安装 Guzzle Debugger

composer require guzzle/debug
Copier après la connexion

启用 Guzzle Debugger

为了启用 Guzzle Debugger,你需要使用 setDebug() 方法将 DebugPlugin添加到 GuzzleHttp\Client 中:

use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Middleware\DebugMiddleware;

$handler = HandlerStack::create();
$handler->push(DebugMiddleware::log());

$client = new Client(['handler' => $handler]);
Copier après la connexion

实战案例

下面是一个使用 Guzzle Debugger 调试 HTTP 请求的示例:

use GuzzleHttp\Client;

$client = new Client();
try {
    $response = $client->request('GET', 'https://example.com/api/v1/users');
    echo $response->getBody();
} catch (\Exception $e) {
    echo $e->getMessage();
}
// 输出调试日志
echo DebugMiddleware::log();
Copier après la connexion

输出的调试日志将包含以下信息:

  • 请求 URI
  • 请求方法
  • HTTP 版本
  • 请求头
  • 请求体
  • 响应状态码
  • 响应头
  • 响应体

使用调试日志进行故障排除

调试日志可以帮助你识别以下问题:

  • 错误的请求方法或 URI
  • 缺失或无效的请求头
  • 无效的 JSON 请求体
  • 服务器端的错误响应

通过查看调试日志,你可以快速确定问题的根源并采取适当的措施来解决问题。

自定义日志级别

Guzzle Debugger 提供了多种日志级别,让你可以控制日志中包含的信息量。默认情况下,它使用 LOG_INFO,记录所有请求和响应信息。你可以使用 GuzzleHttp\Middleware\DebugMiddleware::setLevel() 方法自定义日志级别:

DebugMiddleware::setLevel(DebugMiddleware::LOG_DEBUG);
Copier après la connexion

这将记录更多详细的调试信息,包括错误追溯和内部 PSR-7 请求和响应对象。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Fonctionnalités avancées de Composer : alias, scripts et résolution de conflits Fonctionnalités avancées de Composer : alias, scripts et résolution de conflits Jun 03, 2024 pm 12:37 PM

Composer fournit des fonctionnalités avancées, notamment : 1. Alias : définissez des noms pratiques pour les packages pour référence répétée ; 2. Scripts : exécutez des commandes personnalisées lors de l'installation/mise à jour de packages, utilisées pour créer des tables de base de données ou compiler des ressources ; 3. Résolution de conflits : utilisez des règles de priorité ; , les contraintes de satisfaction et les alias de package résolvent les différentes exigences de plusieurs packages pour la même version de dépendance afin d'éviter les conflits d'installation.

Développement et exploitation agiles de la conteneurisation de microservices PHP Développement et exploitation agiles de la conteneurisation de microservices PHP May 08, 2024 pm 02:21 PM

Réponse : Les microservices PHP sont déployés avec HelmCharts pour un développement agile et conteneurisés avec DockerContainer pour l'isolation et l'évolutivité. Description détaillée : utilisez HelmCharts pour déployer automatiquement des microservices PHP afin de réaliser un développement agile. Les images Docker permettent une itération rapide et un contrôle de version des microservices. Le standard DockerContainer isole les microservices et Kubernetes gère la disponibilité et l'évolutivité des conteneurs. Utilisez Prometheus et Grafana pour surveiller les performances et l'état des microservices, et créer des alarmes et des mécanismes de réparation automatiques.

Quelles sont les méthodes courantes pour convertir des tableaux en objets en PHP ? Quelles sont les méthodes courantes pour convertir des tableaux en objets en PHP ? Apr 28, 2024 pm 10:54 PM

Comment convertir un tableau PHP en objet : utilisez la classe stdClass, utilisez la fonction json_decode(), utilisez une bibliothèque tierce (telle que la classe ArrayObject, la bibliothèque Hydrator)

Contrôle de version et collaboration du code PHP Contrôle de version et collaboration du code PHP May 07, 2024 am 08:54 AM

Contrôle de version du code PHP : Il existe deux systèmes de contrôle de version (VCS) couramment utilisés dans le développement PHP : Git : VCS distribué, où les développeurs stockent localement des copies de la base de code pour faciliter la collaboration et le travail hors ligne. Subversion : VCS centralisé, la seule copie de la base de code est stockée sur un serveur central, offrant plus de contrôle. VCS aide les équipes à suivre les modifications, à collaborer et à revenir aux versions antérieures.

Comment utiliser le cache Redis dans la pagination des tableaux PHP ? Comment utiliser le cache Redis dans la pagination des tableaux PHP ? May 01, 2024 am 10:48 AM

L'utilisation du cache Redis peut considérablement optimiser les performances de la pagination du tableau PHP. Cela peut être réalisé en suivant les étapes suivantes : Installez le client Redis. Connectez-vous au serveur Redis. Créez des données de cache et stockez chaque page de données dans un hachage Redis avec la clé « page : {page_number} ». Récupérez les données du cache et évitez les opérations coûteuses sur les grandes baies.

Comment utiliser PHP CI/CD pour itérer rapidement ? Comment utiliser PHP CI/CD pour itérer rapidement ? May 08, 2024 pm 10:15 PM

Réponse : Utilisez PHPCI/CD pour réaliser une itération rapide, y compris la configuration de pipelines CI/CD, de tests automatisés et de processus de déploiement. Configurer un pipeline CI/CD : sélectionnez un outil CI/CD, configurez le référentiel de code et définissez le pipeline de build. Tests automatisés : rédigez des tests unitaires et d'intégration et utilisez des frameworks de test pour simplifier les tests. Cas pratique : Utilisation de TravisCI : Installez TravisCI, définissez le pipeline, activez le pipeline et visualisez les résultats. Mettez en œuvre la livraison continue : sélectionnez les outils de déploiement, définissez les pipelines de déploiement et automatisez le déploiement. Avantages : améliorez l’efficacité du développement, réduisez les erreurs et raccourcissez les délais de livraison.

Maintenance et mises à jour du développement de services Web PHP et de la conception d'API Maintenance et mises à jour du développement de services Web PHP et de la conception d'API May 06, 2024 pm 02:57 PM

Afin de maintenir et de mettre à jour les services Web et les API PHP, les pratiques suivantes doivent être mises en œuvre : Mettre à jour les dépendances pour garantir les derniers correctifs de sécurité. Suivez les modifications de la base de code et collaborez au développement avec le contrôle de version. Tests automatisés pour vérifier que les mises à jour n'ont pas d'impact sur les fonctionnalités. L'intégration continue garantit la validation du code via des processus automatisés. La journalisation et la surveillance aident à identifier et à résoudre les problèmes. Mettez toujours à jour les correctifs de sécurité pour éviter les vulnérabilités.

Intégration des tests unitaires PHP et de la livraison continue Intégration des tests unitaires PHP et de la livraison continue May 06, 2024 pm 06:45 PM

Résumé : En intégrant le framework de tests unitaires PHPUnit et le pipeline CI/CD, vous pouvez améliorer la qualité du code PHP et accélérer la livraison des logiciels. PHPUnit permet la création de scénarios de test pour vérifier la fonctionnalité des composants, et les outils CI/CD tels que GitLabCI et GitHubActions peuvent exécuter automatiquement ces tests. Exemple : validez le contrôleur d'authentification avec des cas de test pour garantir que la fonctionnalité de connexion fonctionne comme prévu.

See all articles