chilio / laravel-dusk-ci

Docker Test suite for Laravel Dusk in gitlab CI
MIT License
159 stars 51 forks source link

PHP7.4 | php-imagick extension not found or not enabled #62

Closed manfield closed 2 years ago

manfield commented 3 years ago

Hi, I've been using laravel-dusk-ci for months without issues. Today I'm deploying the same project, with insignificant modification, after 15 days, when I deployed for the last time.

I checked and Imagemagick is installed as well php-imagick, but it does not appear among the enabled modules.

I have this log:


Problem 1
    - Root composer.json requires PHP extension ext-imagick * but it is missing from your system. Install or enable PHP's imagick extension.
To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php/7.4/cli/php.ini
    - /etc/php/7.4/cli/conf.d/10-mysqlnd.ini
    - /etc/php/7.4/cli/conf.d/10-opcache.ini
    - /etc/php/7.4/cli/conf.d/10-pdo.ini
    - /etc/php/7.4/cli/conf.d/15-xml.ini
    - /etc/php/7.4/cli/conf.d/20-bcmath.ini
    - /etc/php/7.4/cli/conf.d/20-bz2.ini
    - /etc/php/7.4/cli/conf.d/20-calendar.ini
    - /etc/php/7.4/cli/conf.d/20-ctype.ini
    - /etc/php/7.4/cli/conf.d/20-curl.ini
    - /etc/php/7.4/cli/conf.d/20-dba.ini
    - /etc/php/7.4/cli/conf.d/20-dom.ini
    - /etc/php/7.4/cli/conf.d/20-enchant.ini
    - /etc/php/7.4/cli/conf.d/20-exif.ini
    - /etc/php/7.4/cli/conf.d/20-ffi.ini
    - /etc/php/7.4/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.4/cli/conf.d/20-ftp.ini
    - /etc/php/7.4/cli/conf.d/20-gd.ini
    - /etc/php/7.4/cli/conf.d/20-geoip.ini
    - /etc/php/7.4/cli/conf.d/20-gettext.ini
    - /etc/php/7.4/cli/conf.d/20-gmp.ini
    - /etc/php/7.4/cli/conf.d/20-iconv.ini
    - /etc/php/7.4/cli/conf.d/20-imap.ini
    - /etc/php/7.4/cli/conf.d/20-intl.ini
    - /etc/php/7.4/cli/conf.d/20-json.ini
    - /etc/php/7.4/cli/conf.d/20-ldap.ini
    - /etc/php/7.4/cli/conf.d/20-mbstring.ini
    - /etc/php/7.4/cli/conf.d/20-mysqli.ini
    - /etc/php/7.4/cli/conf.d/20-odbc.ini
    - /etc/php/7.4/cli/conf.d/20-pdo_dblib.ini
    - /etc/php/7.4/cli/conf.d/20-pdo_firebird.ini
    - /etc/php/7.4/cli/conf.d/20-pdo_mysql.ini
    - /etc/php/7.4/cli/conf.d/20-pdo_odbc.ini
    - /etc/php/7.4/cli/conf.d/20-pdo_pgsql.ini
    - /etc/php/7.4/cli/conf.d/20-pdo_sqlite.ini
    - /etc/php/7.4/cli/conf.d/20-pgsql.ini
    - /etc/php/7.4/cli/conf.d/20-phar.ini
    - /etc/php/7.4/cli/conf.d/20-posix.ini
    - /etc/php/7.4/cli/conf.d/20-propro.ini
    - /etc/php/7.4/cli/conf.d/20-pspell.ini
    - /etc/php/7.4/cli/conf.d/20-radius.ini
    - /etc/php/7.4/cli/conf.d/20-raphf.ini
    - /etc/php/7.4/cli/conf.d/20-readline.ini
    - /etc/php/7.4/cli/conf.d/20-shmop.ini
    - /etc/php/7.4/cli/conf.d/20-simplexml.ini
    - /etc/php/7.4/cli/conf.d/20-snmp.ini
    - /etc/php/7.4/cli/conf.d/20-soap.ini
    - /etc/php/7.4/cli/conf.d/20-sockets.ini
    - /etc/php/7.4/cli/conf.d/20-sqlite3.ini
    - /etc/php/7.4/cli/conf.d/20-stomp.ini
    - /etc/php/7.4/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.4/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.4/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.4/cli/conf.d/20-tideways.ini
    - /etc/php/7.4/cli/conf.d/20-tidy.ini
    - /etc/php/7.4/cli/conf.d/20-tokenizer.ini
    - /etc/php/7.4/cli/conf.d/20-uploadprogress.ini
    - /etc/php/7.4/cli/conf.d/20-xmlreader.ini
    - /etc/php/7.4/cli/conf.d/20-xmlrpc.ini
    - /etc/php/7.4/cli/conf.d/20-xmlwriter.ini
    - /etc/php/7.4/cli/conf.d/20-xsl.ini
    - /etc/php/7.4/cli/conf.d/20-zip.ini
    - /etc/php/7.4/cli/conf.d/25-http.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
manfield commented 3 years ago

Ok, it seems that imagick is not available to php7.4 I'm using this workaround on CI

test_backend_features:
  stage: test
  image: chilio/laravel-dusk-ci:php-7.4
  script: apt-get update && apt-get install php7.4-imagick && ./vendor/bin/phpunit --version && ./vendor/bin/phpunit -v tests/Feature

to install it at CI time. I think it should be already installed in the distribution though,

Thanks

chilio commented 2 years ago

@manfield late reply, but as you suggested php imagick was added to distribution and enabled by default. Let me know if it works for you.