Repository navigation
Conversation
`mod_php` (via apache2) has been disrecommended by upstream PHP for years in favor of `php-fpm` (https://www.php.net/manual/en/install.unix.apache2.php). 8.6+ now builds every variant with zts enabled (2e430cd), and `mod_php` gains nothing from that -- it still can't use a threaded MPM, so the added thread-safety overhead is pure cost for zero benefit. Years of disrecommendation plus a new cost with no offsetting benefit is reason enough to drop the variant. Assisted-By: "claude my eyes right out"
|
I'm open to making this 9.0+ instead of 8.6+, but I think going all-in on ZTS is really a compelling lever for making this change too, so IMO 8.6 is the correct place for us to finally flip this and get rid of https://www.php.net/manual/en/install.unix.apache2.php really doesn't mince words here:
That last paragraph seems to imply that enabling ZTS allows switching to a better MPM, but it really doesn't (primarily because other non-PHP libraries need to be thread-safe too for that to work, and they're not necessarily going to be). |
|
ZTS allows using the old threaded apache2module instead of the prefork mpm. I think they still serve a point - at least for people not using FrankenPHP: using only a single image for web server + php runtime instead of two, as they would with fpm. I don't think switching to ZTS has any bearing on dropping apache images. But the only people I know who still use the apache module don't use Docker, so I'd be in favour anyhow.
Fwiw I think the only non-thread safe library used by php is the php-imap's UW c-client. (And the extension was unbundled in 8.4 anyways) |
👍 The |
|
Just an opinion but the infrastructure changes required to switch from one container to multiple (or to build a custom container with both) are not necessarily straightforward, and it feels safer to do this on the 9.0 upgrade cycle. Maybe start with a prominent note in the readme that these images are being deprecated? Maybe even a log message in the container, if there's precedent/capability for that? |
|
Please put the pull numbers in the PR before dropping apache images. Nobody outside Docker can see whether |
I'd first remove it from the other official images before removing it from PHP itself. Unfortunately most PHP application expect the application code and the user data in the web root. So the web server needs to share a volume with (all) php containers. This makes it less convenient than just spinning up a |
mod_php(via apache2) has been disrecommended by upstream PHP for years in favor ofphp-fpm(https://www.php.net/manual/en/install.unix.apache2.php). 8.6+ now builds every variant with zts enabled (2e430cd), andmod_phpgains nothing from that -- it still can't use a threaded MPM, so the added thread-safety overhead is pure cost for zero benefit. Years of disrecommendation plus a new cost with no offsetting benefit is reason enough to drop the variant.Assisted-By: "claude my eyes right out"