Page MenuHomePhabricator

docker-registry.wikimedia.org/dev/bookworm-php83:1.0.0 php-fpm8.3: command not found in php_entrypoint.sh
Closed, InvalidPublic

Description

As part of T388411: libcurl 7.85+ breaks DNS in mwcli i'm looking at using the docker-registry.wikimedia.org/dev/bookworm-php83:1.0.0 image.

However, when slotting it into the a Wikimedia CLI setup, I simply get this error..

~/go/src/gitlab.wikimedia.org/repos/releng/cli (dec-2025-fixes-and-updates) VERBOSE=1 mwdev docker dc logs mediawiki
mediawiki-1  | cp: cannot create regular file 'includes/PlatformSettings.php': No such file or directory
mediawiki-1  | /php_entrypoint.sh: line 8: php-fpm8.3: command not found

the file indeed does not exist

root@00b7b80254e0:/# php
php            php-config     php-config8.3  php8.3         phpdismod      phpenmod       phpize         phpize8.3      phpquery

Using the docker-registry.wikimedia.org/dev/buster-php81-fpm:1.0.1-s2 image things work as expected.

cp: cannot create regular file 'includes/PlatformSettings.php': No such file or directory
[03-Dec-2025 15:23:33] NOTICE: fpm is running, pid 8
[03-Dec-2025 15:23:33] NOTICE: ready to handle connections
[03-Dec-2025 15:23:33] NOTICE: systemd monitor interval set to 10000ms

The file in the old image

root@c942f8325233:/var/www/html/w# cat /php_entrypoint.sh
#!/bin/bash

# Copy PlatformSettings.php. We do this unconditionally so that changes made
# in PlatformSettings.php in image updates are put in place each time the
# mediawiki container is created.
cp /docker/PlatformSettings.php includes/PlatformSettings.php

"php-fpm$PHP_VERSION" --nodaemonize

And the bins there

php            php-config     php-config8.1  php-fpm8.1     php8.1         phpdismod      phpenmod       phpize         phpize8.1      phpquery

In the new image

#!/bin/bash

# Copy PlatformSettings.php. We do this unconditionally so that changes made
# in PlatformSettings.php in image updates are put in place each time the
# mediawiki container is created.
cp /docker/PlatformSettings.php includes/PlatformSettings.php

"php-fpm$PHP_VERSION" --nodaemonize

but the expected binary is not there

php            php-config     php-config8.3  php8.3         phpdismod      phpenmod       phpize         phpize8.3      phpquery

Event Timeline

docker-registry.wikimedia.org/dev/bookworm-php83:1.0.0

docker-registry.wikimedia.org/dev/buster-php81-fpm:1.0.1-s2

What if you use docker-registry.wikimedia.org/dev/bookworm-php83-fpm:1.0.0 to match the image type you were using before...