From 41b811ef2afaadf2742bdf18e1da153da4f2c4ee Mon Sep 17 00:00:00 2001 From: Nelson Isioma Date: Wed, 30 Sep 2026 23:45:51 +0100 Subject: [PATCH] Use CakePHP's official ghcr.io image for Docker quickstart Supersedes the previous fix on this branch. As discussed in the PR, CakePHP now publishes its own PHP images to GHCR (ghcr.io/cakephp/cakephp) with intl, pdo_mysql, and the other extensions CakePHP needs already baked in. This replaces the install-extensions-at-runtime pattern with that image for both Docker commands on the homepage: - composer create-project now runs inside the official image (only Composer itself needs installing, not PHP extensions) - the dev server now runs `php bin/cake.php server`, using the official image too, instead of php:8.2-cli (which lacked intl and pdo_mysql, and which was also being handed the bin/cake shell script instead of its actual PHP entry point) Verified end to end: composer create-project succeeds, the dev server starts, and the welcome page renders normally (no MissingExtensionException) at http://localhost:8765. --- docs/en/index.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/en/index.md b/docs/en/index.md index 45116e5c4e..6a8e96a55e 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -58,13 +58,15 @@ ddev launch ``` ```bash [Docker] -# Using official PHP image -docker run -it --rm -v $(pwd):/app composer create-project \ - --prefer-dist cakephp/app:~|cakeversion| my_app +# Using CakePHP's official image (ghcr.io/cakephp/cakephp), which bundles +# the extensions CakePHP needs (intl, pdo_mysql, etc.) +docker run -it --rm -v $(pwd):/app -w /app ghcr.io/cakephp/cakephp:|phpversion| sh -c \ + "curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ + && composer create-project --prefer-dist cakephp/app:~|cakeversion| my_app" cd my_app docker run -it --rm -p 8765:8765 -v $(pwd):/app \ - -w /app php:8.2-cli php bin/cake server -H 0.0.0.0 + -w /app ghcr.io/cakephp/cakephp:|phpversion| php bin/cake.php server -H 0.0.0.0 ``` :::