Comment déboguer un site Web php

(*-*)浩
Libérer: 2023-02-23 21:30:01
original
3756 Les gens l'ont consulté

Méthodes de débogage courantes

Comment déboguer un site Web php

Débogage en imprimant les informations depuis le navigateur

Méthodes

Ajoutez echo, var_dump, print_r et quittez dans le code et affichez la sortie dans le navigateur.

Avantages et inconvénients

Avantages :

Simple, facile à utiliser, pas besoin d'installer de plug-ins (recommandé apprentissage : Programmation PHP de l'entrée à la maîtrise)

Pour du code écrit par vous-même, ou un framework que vous connaissez, vous pouvez utiliser cette méthode

Inconvénients :

Pour une logique multi-branches, vous devez ajouter beaucoup de code ou essayer plusieurs fois

Pour une logique inconnue, le processus d'exécution complet ne peut pas être reflété.

Il est possible d'omettre les instructions de débogage dans le projet

Impossible d'exécuter en une seule étape

Lors du débogage, afin de formater les variables de sortie, vous devez souvent implémenter votre propre fonction dump (dans le projet). En utilisant Composer, la fonction dump() du package symfony/var-dumper peut être installée globalement afin qu'elle puisse être utilisée par tous les projets sans modifier le projet.

Utiliser Xdebug pour le débogage

XDebug est une structure C/S, où le client est Xdebug installé en PHP, le serveur est un plug-in installé dans l'IDE et communique en utilisant le protocole DBGP. Lorsque PHP exécute un script, il envoie des informations de débogage à l'IDE via le plug-in Xdebug et reçoit des signaux de contrôle de l'EDI.

Vous devez installer et activer Xdebug pour PHP, puis configurer le plug-in Xdebug de l'IDE afin que les deux puissent communiquer.

Avantages et inconvénients

Prend en charge le débogage en une seule étape et l'acquisition de valeurs de variables arbitraires

Configuration complexe, nécessite un plug-in d'installation IDE

Support Pour coopérer avec le navigateur, la requête doit porter le paramètre XDEBUG_SESSION_START

Débogage via le terminal console (mode CLI)

Pour les applications non Web , comme les tâches planifiées ou les tests unitaires , vous pouvez déboguer directement sur la console.

Dans PhpStorm, utilisez la touche de raccourci Alt+F12 pour ouvrir le terminal de ligne de commande. Cependant, comme un seul terminal peut être affiché dans l'IDE, le terminal de débogage une fois le débogage activé couvrira le terminal de ligne de commande, il est donc préférable d'ouvrir un terminal de ligne de commande séparé (vous pouvez utiliser une fenêtre DOS ou PowerShell sous Windows ).

Méthodes et principes

Les applications Web déboguent les requêtes via les indicateurs de paramètres GET/POST/Cookie, tandis que les applications non Web permettent le débogage en définissant des variables d'environnement dans le terminal de ligne de commande .

Deux étapes :

Définissez la variable d'environnement XDEBUG_CONFIG="idekey=session_name". Cette idekey doit être la même que celle définie dans la section Xdebug de php. .ini.

Exécutez le script dans le terminal de ligne de commande. Une fois exécuté, le terminal de débogage de l'IDE sera évoqué, permettant un débogage en une seule étape, et les résultats de sortie seront affichés dans le terminal de ligne de commande en temps réel

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!

Étiquettes associées:
php
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!