Maison  >  Article  >  développement back-end  >  Comment utiliser Xdebug pour le débogage des fonctions PHP ?

Comment utiliser Xdebug pour le débogage des fonctions PHP ?

WBOY
WBOYoriginal
2024-04-17 11:12:01452parcourir

En installant l'extension PHP Xdebug et en l'activant, vous pouvez déboguer les fonctions PHP à l'aide d'un client Xdebug tel que PhpStorm ou VSCode. Définissez des points d'arrêt, exécutez des scripts à l'aide de l'EDI, passez en mode débogage pour inspecter les variables, effectuez un débogage étape par étape et affichez les piles d'appels. Dans un cas d'utilisation pratique, vous pouvez définir un point d'arrêt sur la fonction somme et utiliser le débogueur pour afficher les variables et le flux d'exécution afin de déboguer les erreurs ou d'optimiser le code.

如何使用 Xdebug 进行 PHP 函数调试?

Comment utiliser Xdebug pour le débogage des fonctions PHP

Introduction

Xdebug est une extension PHP pour le débogage des scripts PHP. Il offre des fonctionnalités riches, notamment le traçage des fonctions, l'inspection des variables et le reporting de la couverture du code. Ce tutoriel expliquera comment installer et utiliser Xdebug pour le débogage des fonctions PHP.

Installer Xdebug

Pour installer Xdebug, veuillez suivre les étapes ci-dessous :

  1. Allez sur le site officiel de Xdebug pour télécharger le package d'installation de Xdebug pour votre version PHP.
  2. Décompressez le package d'installation et copiez le fichier xdebug.so dans le répertoire d'extension PHP, généralement situé dans /usr/local/lib/php/extensions/. xdebug.so 文件复制到 PHP 扩展目录,通常位于 /usr/local/lib/php/extensions/

启用 Xdebug

要启用 Xdebug,请在你的 php.ini 文件中添加以下行:

zend_extension=/usr/local/lib/php/extensions/xdebug.so
xdebug.remote_enable=1
xdebug.remote_autostart=1

使用 Xdebug 调试

  1. 打开 Xdebug 客户端:安装一个 Xdebug 客户端,例如 PhpStorm 或 VSCode 的 Debugger 扩展。
  2. 设置断点:在需要调试的函数中设置断点。
  3. 运行脚本:使用带有 Xdebug 客户端的 IDE 运行脚本。
  4. 进入调试模式:脚本命中断点后,调试器将进入调试模式,允许你检查变量、执行逐步调试和查看调用堆栈。

实战案例

以下是如何使用 Xdebug 调试一个简单的 PHP 函数:

function sum($a, $b) {
  return $a + $b;
}

$result = sum(1, 2);
echo $result;
  1. sum 函数中设置一个断点。
  2. 使用带有 Xdebug 客户端的 IDE 运行脚本。
  3. 当脚本命中断点时,调试器将进入调试模式。
  4. 你可以在调试器中检查变量 $a$b 的值,并逐步执行函数,查看执行流程。

提示

  • 使用 xdebug_dump_function(...) 函数将函数调用堆栈转储到文件中,以进行更深入的分析。
  • 调整 xdebug.max_nesting_level
Enable Xdebug🎜🎜🎜Pour activer Xdebug, ajoutez la ligne suivante à votre fichier php.ini : 🎜rrreee🎜🎜Debugging with Xdebug🎜🎜🎜🎜🎜Ouvrez le client Xdebug : 🎜Installez un client Xdebug, comme PhpStorm ou l'extension Debugger pour VSCode. 🎜🎜🎜Définir un point d'arrêt : 🎜Définissez un point d'arrêt dans la fonction qui doit être déboguée. 🎜🎜🎜Exécutez le script : 🎜Utilisez un IDE avec le client Xdebug pour exécuter le script. 🎜🎜🎜Entrez en mode débogage : 🎜Une fois que votre script atteint un point d'arrêt, le débogueur entrera en mode débogage, vous permettant d'inspecter les variables, d'effectuer un débogage étape par étape et d'afficher la pile d'appels. 🎜🎜🎜Cas pratique🎜🎜🎜Voici comment utiliser Xdebug pour déboguer une fonction PHP simple : 🎜rrreee🎜🎜Définissez un point d'arrêt dans la fonction sum. 🎜🎜Utilisez un IDE avec le client Xdebug pour exécuter le script. 🎜🎜Lorsque le script atteint un point d'arrêt, le débogueur passe en mode débogage. 🎜🎜Vous pouvez vérifier les valeurs des variables $a et $b dans le débogueur et parcourir la fonction pour voir le flux d'exécution. 🎜🎜🎜Astuce🎜🎜
    🎜Utilisez la fonction xdebug_dump_function(...) pour vider la pile d'appels de fonction dans un fichier pour une analyse plus approfondie. 🎜🎜Ajustez le paramètre de configuration xdebug.max_nesting_level pour augmenter la profondeur maximale des fonctions imbriquées pouvant être appelées de manière récursive. 🎜🎜

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:
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