Missing packages or extensions from php containers
If you ever had issues like this one:
Verifying lock file contents can be installed on current platform.
0: 2023-12-06 10:05:35 am 12 ms output Your lock file does not contain a compatible set of packages. Please run composer update.
0: 2023-12-06 10:05:35 am 1 ms output Problem 1
0: 2023-12-06 10:05:35 am 2 ms output - phpxmlrpc/phpxmlrpc is locked to version 4.8.1 and an update of this package was not requested.
0: 2023-12-06 10:05:35 am 2 ms output - phpxmlrpc/phpxmlrpc 4.8.1 requires ext-xml * -> it is missing from your system. Install or enable PHP's xml extension.
0: 2023-12-06 10:05:35 am 1 ms output Problem 2
0: 2023-12-06 10:05:35 am 1 ms output - phpxmlrpc/phpxmlrpc 4.8.1 requires ext-xml * -> it is missing from your system. Install or enable PHP's xml extension.
0: 2023-12-06 10:05:35 am 1 ms output - phpxmlrpc/polyfill-xmlrpc 1.0.0-rc1 requires phpxmlrpc/phpxmlrpc ^4.5.2 -> satisfiable by phpxmlrpc/phpxmlrpc[4.8.1].
0: 2023-12-06 10:05:35 am 4 ms output - phpxmlrpc/polyfill-xmlrpc is locked to version 1.0.0-rc1 and an update of this package was not requested.
0: 2023-12-06 10:05:35 am 2 ms output To enable extensions, verify that they are enabled in your .ini files:
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/php.ini
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/conf.d/10-opcache.ini
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/conf.d/10-pdo.ini
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/conf.d/20-calendar.ini
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/conf.d/20-ctype.ini
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/conf.d/20-curl.ini
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/conf.d/20-exif.ini
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/conf.d/20-ffi.ini
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/conf.d/20-fileinfo.ini
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/conf.d/20-ftp.ini
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/conf.d/20-gettext.ini
0: 2023-12-06 10:05:35 am 4 ms output - /etc/php/8.0/cli/conf.d/20-iconv.ini
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/conf.d/20-mbstring.ini
0: 2023-12-06 10:05:35 am 3 ms output - /etc/php/8.0/cli/conf.d/20-phar.ini
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/conf.d/20-posix.ini
0: 2023-12-06 10:05:35 am 3 ms output - /etc/php/8.0/cli/conf.d/20-readline.ini
0: 2023-12-06 10:05:35 am 2 ms output - /etc/php/8.0/cli/conf.d/20-shmop.ini
0: 2023-12-06 10:05:35 am 2 ms output - /etc/php/8.0/cli/conf.d/20-sockets.ini
0: 2023-12-06 10:05:35 am 2 ms output - /etc/php/8.0/cli/conf.d/20-sysvmsg.ini
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/conf.d/20-sysvsem.ini
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/conf.d/20-sysvshm.ini
0: 2023-12-06 10:05:35 am 1 ms output - /etc/php/8.0/cli/conf.d/20-tokenizer.ini
0: 2023-12-06 10:05:35 am 0 ms output - /etc/php/8.0/cli/conf.d/20-zip.ini
0: 2023-12-06 10:05:35 am 1 ms output You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.
0: 2023-12-06 10:05:35 am 1 ms output Alternatively, you can run Composer with `--ignore-platform-req=ext-xml` to temporarily ignore these required extensions.
It means that there are missing extensions from your PHP Container. In the example, it's the php-xml extension. In order to install it, you will need to extend our container, and then install it, with the current command:
echo 'Installing php-xml extension'
apt-get install php-xml
Or, something like this, in DeployBot web UI:
Happy deploying! 🚀