Skip to content

Kévin Dunglas

Founder of Les-Tilleuls.coop (worker-owned cooperative). Creator of API Platform, FrankenPHP, Mercure.rocks, Vulcain.rocks and of some Symfony components.

Menu
  • Talks
  • Resume
  • Sponsor me
  • Contact
Menu

How to debug Xdebug… or any other weird bug in PHP

Posted on October 11, 2024November 14, 2024 by Kévin Dunglas
My slides from AFUP’s ForumPHP 2024

What to do when the debugger has a bug? That’s the question I had to answer when my GitHub notifications went haywire because a new version of Xdebug was crashing FrankenPHP and therefore all the projects that use it.

Together, we’ll retrace the epic story of this debugging debugger and discover a method that can debug just about any bug:

  • isolate the problem
  • code a “minimal reproducer”
  • install a development environment that allows you to debug PHP and its extensions
  • use the right tools to understand what’s going on
  • make a detailed bug report
  • establish a theory
  • write a patch
  • contribute the patch to the upstream project

This method can be used to debug any problem, in any language! We’ll take advantage of this adventure to discover the inner workings of the PHP runtime engine, and its extensions, as well as some debugging tools, in particular GDB.

Related posts:

  1. Containerization Tips and Tricks for PHP apps
  2. PHP and Symfony Apps As Standalone Binaries
  3. Introducing API Platform (Forum PHP)
  4. Webperf: Boost Your PHP Apps With 103 Early Hints

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Social

  • Bluesky
  • GitHub
  • LinkedIn
  • Mastodon
  • X
  • YouTube

Links

  • API Platform
  • FrankenPHP
  • Les-Tilleuls.coop
  • Mercure.rocks
  • Vulcain.rocks

Tags

Apache API API Platform Buzz Caddy Docker Doctrine FrankenPHP Go Google GraphQL HTTP/2 Hydra hypermedia Javascript JSON-LD Kubernetes La Coopérative des Tilleuls Les-Tilleuls.coop Lille Linux Mac Mercure Mercure.rocks MySQL performance PHP Punk Rock Python React REST Rock'n'Roll RSS Schema.org Security SEO SEO Symfony Symfony Live Sécurité Ubuntu webperf Wordpress XHTML XML

Archives

Categories

  • DevOps (87)
    • Ubuntu (68)
  • Go (21)
  • JavaScript (46)
  • Mercure (8)
  • Opinions (91)
  • PHP (178)
    • API Platform (80)
    • FrankenPHP (16)
    • Laravel (1)
    • Symfony (98)
    • Wordpress (6)
  • Python (14)
  • Security (15)
  • SEO (25)
  • Talks (47)
© 2026 Kévin Dunglas | Powered by Minimalist Blog WordPress Theme