使用GitlabCI部署Laravel在mcrypt扩展上失败

我想用GitLabCI和docker部署我的Laravel项目。 我有一个与以下before_script yaml文件:

docker-php-ext-install mbstring mcrypt pdo_mysql curl json intl gd xml zip bz2 opcache

它的回报是:

 error: /usr/src/php/ext/mcrypt does not exist usage: /usr/local/bin/docker-php-ext-install [-jN] ext-name [ext-name ...] ie: /usr/local/bin/docker-php-ext-install gd mysqli /usr/local/bin/docker-php-ext-install pdo pdo_mysql /usr/local/bin/docker-php-ext-install -j5 gd mbstring mysqli pdo pdo_mysql shmop if custom ./configure arguments are necessary, see docker-php-ext-configure Possible values for ext-name: bcmath bz2 calendar ctype curl dba dom enchant exif fileinfo filter ftp gd gettext gmp hash iconv imap interbase intl json ldap mbstring mysqli oci8 odbc opcache pcntl pdo pdo_dblib pdo_firebird pdo_mysql pdo_oci pdo_odbc pdo_pgsql pdo_sqlite pgsql phar posix pspell readline recode reflection session shmop simplexml snmp soap sockets sodium spl standard sysvmsg sysvsem sysvshm tidy tokenizer wddx xml xmlreader xmlrpc xmlwriter xsl zend_test zip Some of the above modules are already compiled into PHP; please check the output of "php -i" to see which modules are already loaded. ERROR: Job failed: exit code 1 

我试着用apt-get安装手动安装mcrypt以下的答案,但没有为我工作。 也讨论过这个论坛post,但没有提到这个错误。

gitlab-ci.yaml文件:

 before_script: # Update packages - apt-get update -yqq - apt-get install -my wget gnupg # Upgrade to Node 7 - curl -sL https://deb.nodesource.com/setup_7.x | bash - # Install dependencies - apt-get install bzip2 git nodejs libcurl4-gnutls-dev libicu-dev libmcrypt-dev libvpx-dev libjpeg-dev libpng-dev libxpm-dev zlib1g-dev libfreetype6-dev libxml2-dev libexpat1-dev libbz2-dev libgmp3-dev libldap2-dev unixodbc-dev libpq-dev libsqlite3-dev libaspell-dev libsnmp-dev libpcre3-dev libtidy-dev -yqq # Install php extensions - docker-php-ext-install mbstring pdo_mysql curl json intl gd xml zip bz2 opcache # Install Node dependencies. # comment this out if you don't have a node dependency - npm install - npm install -g bower - npm install -g gulp-cli # Install Composer and project dependencies. - curl -sS https://getcomposer.org/installer | php - php composer.phar install 

使用php7.0和Laravel 5.3.2

所以我发现文章'PHP的RFC:弃用(然后删除)Mcrypt'在哪里提到,php7.2不再支持mcrypt扩展名。 在我的yaml文件中,我使用了image: php:latest命令,现在把它改成image: php:7.1 (这个版本支持mcrypt)。

奇迹般有效。