SpawnWP 0.5.19
description: SpawnWP 0.5.19 release notes — Xdebug actually works now, and the PHP extensions available to sites are documented.
SpawnWP 0.5.19
Xdebug now actually works
make xdebug-on was advertised in the docs and in the CLI, but Xdebug was never installed in
the PHP image — it has been missing since the very first release. Turning it on only uncommented
a zend_extension=xdebug line pointing at a module that did not exist, so PHP answered with:
PHP Warning: Failed loading Zend extension 'xdebug' (... cannot open shared object file ...)
Xdebug is now installed on every PHP version we build, and still disabled by default — it costs
you nothing until you run make xdebug-on. (PHP 7.4 gets Xdebug 3.1.6, the last release that
supports it; 8.2/8.3/8.4 get the current 3.5.x.)
This was found while writing the extension documentation below — which is rather the point of
writing things down.
The PHP extensions are documented
The WordPress development page now lists every extension a site
can use, grouped by what you'd reach for them: database, images, web & data, text & i18n, files,
maths, networking, caching, debugging. The same set is available on every PHP version, so switching
version never changes what your code can call.
It also spells out two things that were previously guesswork:
ftpis outbound only. It gives your PHP codeftp_connect()/ftp_ssl_connect()so plugins
can reach out to a remote FTP/FTPS server (backups, migrations). It does not make your site
reachable over FTP — there is no FTP/SFTP daemon, and every container port binds to loopback. Use
the 📂 Files browser or ⌨ WP-CLI to work on a site's files.imapis not available — it was removed from PHP core in 8.4.
The list cannot silently rot: a CI check extracts the extensions straight from the image's
Dockerfile and fails the build if any of them is missing from the documented table.
What you need to do
Xdebug arrives with a rebuilt PHP image, so:
- New sites get it automatically.
- Existing sites keep their current container. To pick it up, rebuild the site's PHP image
(System → refresh PHP images, orSPAWNWP_REBUILD=1) and then recreate the site (Down, Up). - The first deploy on each PHP version after updating pays a one-off ~5-minute image rebuild.