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. PHP and Symfony Apps As Standalone Binaries
  2. Mastering the Symfony Serializer (PHP Tour)
  3. Front-end application development, Symfony-style(s)
  4. Running Laravel Apps With FrankenPHP (Laracon EU)

Leave a ReplyCancel reply

Social

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

Links

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

Subscribe to this blog

Top Posts & Pages

  • Windows Support for FrankenPHP: It’s Finally Alive!
  • Symfony's New Native Docker Support (Symfony World)
  • FrankenPHP: The Modern Php App Server, written in Go
  • Symfony 4: HTTP/2 Push and Preloading
  • Unleash the Monster: The FrankenPHP elePHPant is Born
  • JSON Columns and Doctrine DBAL 3 Upgrade
  • Plugin pour intégrer Scoopeo à votre blog Wordpress
  • Un thème Prestashop HTML5 optimisé pour le référencement avec Rich Snippets
  • Nouvelle réalisation : la boutique Lost In The Supermarket
  • Plugin Scoopeo pour Wordpress v0.3

Tags

Apache API API Platform Buzz Caddy Docker Doctrine FrankenPHP Go Google GraphQL HTTP/2 Hydra hypermedia Hébergement 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 Schema.org Security SEO SEO Symfony Symfony Live Sécurité Ubuntu Web 2.0 webperf Wordpress XML

Archives

Categories

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