Conversation
There was a problem hiding this comment.
Pull request overview
Adds PHP 8.4 base Docker images (FPM+Nginx and CLI) to the existing dvsa-docker-images structure, and wires them into CI/CD so they get built/published alongside the other language/version images.
Changes:
- Introduce new
php/8.4/fpm-nginximage (nginx + php-fpm via supervisord) with custom nginx/php-fpm/php.ini configs. - Introduce new
php/8.4/cliimage with a custom php.ini. - Update CI/CD workflow matrices to include the new PHP 8.4 images.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| php/8.4/fpm-nginx/Dockerfile | Defines new PHP 8.4 FPM+Nginx image build (installs nginx/supervisor, copies configs). |
| php/8.4/fpm-nginx/nginx.conf | Adds nginx base config for the new image. |
| php/8.4/fpm-nginx/php-fpm.conf | Adds php-fpm pool/global config for the new image. |
| php/8.4/fpm-nginx/php.ini | Adds PHP ini overrides (notably opcache/JIT settings). |
| php/8.4/fpm-nginx/supervisord.conf | Adds supervisord base config for running multiple processes. |
| php/8.4/fpm-nginx/supervisord/nginx.conf | Adds supervisord program entry for nginx. |
| php/8.4/fpm-nginx/supervisord/php-fpm.conf | Adds supervisord program entry for php-fpm. |
| php/8.4/cli/Dockerfile | Defines new PHP 8.4 CLI image build and copies ini overrides. |
| php/8.4/cli/php.ini | Adds PHP ini overrides for CLI (notably opcache/JIT settings). |
| .github/workflows/ci.yaml | Includes the two new PHP 8.4 images in the CI build matrix. |
| .github/workflows/cd.yaml | Includes the two new PHP 8.4 images in the CD build/publish matrix. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
fibble
left a comment
There was a problem hiding this comment.
Looks good, the opcache.jit stuff is the only bit i can see might cause issues, but it should be ok and is best left like this if it does work 👍
| expose_php = Off | ||
|
|
||
| ; Enable the engine and JIT by default for performance optimisation. You can disable this if it causes issues. | ||
| zend_extension=opcache |
There was a problem hiding this comment.
I believe this is included by default in /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini.
| ; https://php.net/display-errors | ||
| display_errors = stderr | ||
|
|
||
| ; More explicit JIT toggles in PHP 8.4. These may need optimization for production use, but they are enabled by default for now (disable them only if they cause issues). |
There was a problem hiding this comment.
I would potentially not do any of this opcache stuff here and instead delegate it to the downstream applications because this file is loaded into ${PHP_INI_DIR}/conf.d/zzz-dvsa-base.ini which I can see causing confusion at some point.
Description
This add php-fpm and php-cli 8.4 docker images to the dvsa-docker-images repo. There has been the minimum optimisations done to facilitate easy testing however i have enabled opcache (can easily be taken off).
I have also added these two new images to the existing workflows.
Related issue: JIRA_TICKET_NUMBER
Before submitting (or marking as "ready for review")