跳至主要内容

Use XDebug for PHP Project Debugging

 XDebug is an indispensable debugging tool in PHP development, offering powerful features for breakpoint debugging, performance analysis, and code coverage. With XDebug, developers can set breakpoints in the code, inspect variable values, trace function call stacks, analyze performance bottlenecks, and greatly enhance PHP development efficiency and code quality.

XDebug Introduction

XDebug is a PHP extension designed to provide debugging and analysis capabilities. It allows developers to set breakpoints in the code, step through the code, inspect variable values and program states, helping them better understand and debug the code.

Enable Xdebug and Configure Debugging Environment

ServBay comes with XDebug pre-installed for each PHP version.

Note: Please refer to the article How to Enable ServBay’s Built-in Xdebug Module for information on how to enable the Xdebug module and configure PHPStorm.

Download: click here to download ServBay

Specific Debugging Example

Sample Project Structure

Assuming we have a simple PHP project with the following directory structure:

servbay_xdebug_app/
├── src/
│ └── Calculator.php
└── index.php

The content of the Calculator.php file is as follows:

<?php
namespace App;

class Calculator
{
public function add($a, $b)
{
return $a + $b;
}

public function subtract($a, $b)
{
return $a - $b;
}
}

The content of the index.php file is as follows:

<?php
require 'vendor/autoload.php';

use App\Calculator;
$calculator = new Calculator();
$sum = $calculator->add(5, 3);
$difference = $calculator->subtract(5, 3);

echo "Sum: " . $sum . "\n";
echo "Difference: " . $difference .
"\n";

Setting Breakpoints

We want to debug the add method in the Calculator class and see how it executes. Open the Calculator.php file in PHPStorm and set a breakpoint on the line return $a + $b;.

Starting the Debugging Session

  1. In PHPStorm, click the Start Listening for PHP Debug Connections button (the little bug icon) on the top toolbar.
  2. In the browser, access your PHP application, such as https://servbay-xdebug-app.test/index.php.

Debugging Process

  1. When the browser accesses index.php, XDebug will automatically connect to PHPStorm and pause execution at the set breakpoint.
  2. In PHPStorm, you’ll see the code paused at the return $a + $b; line in the add method of the Calculator.php file.

Inspecting Variable Values

  1. In PHPStorm’s debug window, you can see the current executing code line, call stack, variable values, etc.
  2. In the Variables panel, you can see the values of the variables $a and $b are 5 and 3, respectively.

Step Execution

  1. Click the Step Over button (or press F8) to step through the code line by line.
  2. Observe the changes in variable values to ensure the add method returns the correct result.

Resume Execution

  1. Click the Resume Program button (or press F9) to continue executing the code.
  2. The program will continue running until it hits the next breakpoint or finishes execution.

View Output

  1. Check the output in the browser, which should display:
Sum: 8
Difference: 2

Conclusion

XDebug allows developers to easily set breakpoints, inspect variable values, and step through code in PHP, enabling them to better understand and debug code. In practical development, XDebug’s breakpoint debugging feature can help developers quickly locate and resolve issues, improving development efficiency and code quality. Through the specific debugging example above, we can see the powerful features and convenience of XDebug in PHP project debugging.

评论

此博客中的热门博文

Alternativa a XAMPP en Mac para MySQL

Durante mucho tiempo, he estado usando  XAMPP  como mi entorno local para crear aplicaciones. XAMPP usa MariaDB, que es casi similar a MySQL, pero aquí está el truco,  casi . El equipo de desarrollo de MariaDB es muy agresivo y ha estado lanzando constantemente nuevas versiones. Sin embargo, no hay mucha diferencia entre las nuevas versiones. En cambio, se han introducido muchos errores. He experimentado la situación en la que la base de datos dejó de funcionar después de una actualización. Así que he estado buscando una solución para usar MySQL en  XAMPP , pero como he descubierto, no es difícil hacerlo en máquinas Windows, pero no he encontrado ningún recurso para que funcione en Mac. ServBay Me encontré con ServBay y quería probarlo. La característica más prometedora que me encanta es que tengo el control de crear mi propio  entorno de desarrollo  basado en las herramientas y versiones de mi servidor en vivo. Es una joya de producto, pero el problema era...

3 Herramientas Esenciales para Desarrolladores Independientes en 2025

En la actual recesión económica mundial, los desarrolladores se enfrentan a desafíos particularmente severos. El desempleo frecuente, la disminución de los ahorros y la dificultad para encontrar el siguiente trabajo pueden generar fácilmente ansiedad y una inmensa presión psicológica. Para abordar estos desafíos, un creciente número de personas está optando por el emprendimiento independiente, convirtiéndose en desarrolladores independientes y centrándose en productos relacionados con la IA o proyectos en el extranjero. Sin embargo, para las personas, ser un desarrollador independiente significa dominar el conocimiento de desarrollo full-stack, lo cual no es tarea fácil. Afortunadamente, los desarrolladores independientes pueden aprovechar las herramientas y plataformas de código abierto para mejorar la eficiencia del desarrollo, reducir la curva de aprendizaje, ahorrar en licencias de software y costos operativos, y aliviar la presión financiera. Este artículo presentará tres herramie...

PHP cumplirá 30 años en 2025, ¿ha pasado ya su mejor momento?

Introducción: El último índice TIOBE muestra que la popularidad de PHP ha caído a un mínimo histórico, ocupando el puesto 17. La encuesta anual Stack Overflow Developer Survey también revela un descenso en el favor de los desarrolladores, reduciéndose de alrededor del 30% al 18%. "PHP es el mejor lenguaje del mundo" se ha convertido en un meme de humor negro entre los programadores. En este clima de declive, ¿está PHP realmente sin perspectivas? ¿Vale la pena siquiera aprenderlo todavía? 1. ¿De la Gloria al Declive? PHP, nacido en 1995, comenzó como una simple herramienta de scripting para procesar formularios HTTP. Las versiones posteriores añadieron soporte para bases de datos MySQL, transformándolo en un lenguaje de desarrollo web independiente. Impulsado por el rápido crecimiento de Internet, la facilidad de uso y la sólida comunidad de PHP lo propulsaron a convertirse en un lenguaje dominante para el desarrollo de aplicaciones web. Combinado con Linux, MySQL y Apache, ...