magento-cloud-docker icon indicating copy to clipboard operation
magento-cloud-docker copied to clipboard

Incompatibility with Magento >= 2.4.0 (Imagick missing)

Open Axel29 opened this issue 2 years ago • 7 comments

Preconditions

  1. Magento >= 2.4.0
  2. magento-cloud-docker images with version between 1.3.2 and 1.3.5 (not tested on other versions), including magento/magento-cloud-docker-php:8.1-fpm-1.3.5 and magento/magento-cloud-docker-php:8.1-cli-1.3.5

Steps to reproduce

Try to upgrade to Magento 2.4.x by following the steps described in the Perform an upgrade guide:

  1. Use PHP 7.4 in the docker-compose.yml file
  2. Run composer require magento/composer-root-update-plugin ~2.0 --no-update
  3. Run composer update
  4. Update the docker-compose.yml file to use PHP 8.1-1.3.5 (or any other version like 1.3.1, 1.3.4 etc.)
  5. Restart the docker containers: docker-compose up -d
  6. Connect to the deploy container: bin/magento-docker bash
  7. Run composer require-commerce magento/product-community-edition 2.4.4 --no-update
  8. Run composer update

Expected result

  1. No error is thrown when starting the deploy container
  2. The composer update command works fine

Actual result

  1. The following errors are thrown when accessing the deploy container (with bin/magento-docker bash):
error: 'imagick' does not exist

usage: /usr/local/bin/docker-php-ext-enable [options] module-name [module-name ...]
   ie: /usr/local/bin/docker-php-ext-enable gd mysqli
       /usr/local/bin/docker-php-ext-enable pdo pdo_mysql
       /usr/local/bin/docker-php-ext-enable --ini-name 0-apc.ini apcu apc

Possible values for module-name:
bcmath.so blackfire.so bz2.so calendar.so exif.so gd.so gettext.so gmp.so gnupg.so intl.so ldap.so mailparse.so msgpack.so mysqli.so oauth.so opcache.so pcntl.so pcov.so pdo_mysql.so pspell.so raphf.so redis.so shmop.so soap.so sockets.so sodium.so sysvmsg.so sysvsem.so sysvshm.so tidy.so xdebug.so xmlrpc.so xsl.so yaml.so zip.so zookeeper.so

Some of the above modules are already compiled into PHP; please check
the output of "php -i" to see which modules are already loaded.
  1. The composer update command fails with the following errors:
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires magento/product-community-edition 2.4.4 -> satisfiable by magento/product-community-edition[2.4.4].
    - magento/product-community-edition 2.4.4 requires ext-gd * -> it is missing from your system. Install or enable PHP's gd extension.
  Problem 2
    - magento/magento2-functional-testing-framework[3.7.0, ..., 3.8.0] require ext-intl * -> it is missing from your system. Install or enable PHP's intl extension.
    - Root composer.json requires magento/magento2-functional-testing-framework ^3.7 -> satisfiable by magento/magento2-functional-testing-framework[3.7.0, ..., 3.8.0].

To enable extensions, verify that they are enabled in your .ini files:
    - 
    - /usr/local/etc/php/conf.d/blackfire.ini
    - /usr/local/etc/php/conf.d/gnupg.ini
    - /usr/local/etc/php/conf.d/zz-magento.ini
    - /usr/local/etc/php/conf.d/zz-mail.ini
    - /usr/local/etc/php/conf.d/zz-pcov-settings.ini
    - /usr/local/etc/php/conf.d/zz-xdebug-settings.ini
You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.
Alternatively, you can run Composer with `--ignore-platform-req=ext-gd --ignore-platform-req=ext-intl` to temporarily ignore these required extensions.

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Additional information

This is a followup of the issue #344 that I closed thinking it was solved, but removing the imagick extension from the PHP_EXTENSION in the docker-compose.yml file doesn't load imagick in the Docker image.

Axel29 avatar Jan 26 '23 17:01 Axel29

Still no update on that issue? :cry:

Axel29 avatar Mar 14 '23 09:03 Axel29

This issue is bothering me too 😞

ClementRayer avatar Mar 30 '23 09:03 ClementRayer

Same issue here. Can you correct this?

alex5513 avatar Mar 30 '23 09:03 alex5513

@magento-admin still no update on this?

It's been almost a year now!

Axel29 avatar Nov 02 '23 08:11 Axel29

I just ran into this issue, so I submitted PR #363 to fix it. Feel free to use that until it gets officially merged and new Docker images are uploaded.

dossy avatar Jan 09 '24 22:01 dossy

Oh, and for anyone who's interested: PR #363 also will add WebP support to the GD extension, as well.

dossy avatar Jan 10 '24 17:01 dossy

Can there be some movement on this issue? it's a tool that adobe cloud provides, but then the docker instance is not providing it? Making it difficult to test changes to the adapter...

MaximGns avatar Jun 20 '24 12:06 MaximGns