Xdebug Update: April 2022
In this monthly update I explain what happened with Xdebug development in this past month. These are normally published on the first Tuesday on or after the 5th of each month.
Patreon and GitHub supporters will get it earlier, around the first of each month.
You can become a patron or support me through GitHub Sponsors. I am currently 46% towards my $2,500 per month goal. If you are leading a team or company, then it is also possible to support Xdebug through a subscription.
In April, I spend 29 hours on Xdebug, with 27 hours funded.
Development
I continued my exploration of different set-ups that developers user, and have created a prototype branch that adds support for the “pseudo-host” xdebug://gateway
which can be used with the xdebug.client_host
setting instead of, and in addition to the Docker specific host.docker.internal
. This pseudo-host automatically evaluates to the network gateway address in the container, which will then allow Xdebug to connect to an IDE on the host machine.
This value will work for:
-
PHP/Xdebug running in Docker on Linux, Windows, and macOS; with the IDE on the host.
-
PHP/Xdebug running in WSL, with the IDE on the (Windows) host.
-
PHP/Xdebug running in Docker in Ubuntu on WSL, with the (Linux) IDE running in WSL.
It will not work where network isolation is used, for example with the following set-ups:
-
PHP/Xdebug running in root-less Docker on Linux, IDE on (Linux) host
-
PHP/Xdebug running in Docker for Windows in WSL, with the Linux version of the IDE inside WSL.
I have not figured out how to do it will all different set-ups, so if you have extra information, or if I am still missing set-ups, feel free to comment on the Google Doc.
In the more complicated set-ups, it would likely be easier to use Xdebug Cloud as it has none of these networking complications.
Course
I have spend a fair amount of time developing the Xdebug course, with the first lesson now written and ready to be recorded. I have decided to include a “Tech Corner” with each lesson, to explain how Xdebug interacts with PHP to do the things that are explained in each lesson. Hopefully you’ll find this interesting as well. It will also serve to reduce the bus factor.
For further lessons I have started to draft outlines, and they are in different states of completion.
If you want to make sure that the course covers specific tasks that you find hard to do, or what you would like explained, please drop me an email, or leave a comment.
Xdebug Recorder
I have been making little progress as I have been focused on developing the course. There is a persistent bug while creating the recording, which is hard to track down, as it only happens occasionally and does not seem to be easily reproducible.
You can follow the development in the recorder branch.
Xdebug Cloud
Xdebug Cloud is the Proxy As A Service platform to allow for debugging in more scenarios, where it is hard, or impossible, to have Xdebug make a connection to the IDE. It is continuing to operate as Beta release. Packages start at £49/month.
If you want to be kept up to date with Xdebug Cloud, please sign up to the mailinglist, which I will use to send out an update not more than once a month.