2017-12-05 27 views
0

GitLabCI 및 도커를 사용하여 Laravel 프로젝트를 배포하고 싶습니다.GitlabCI가 설치된 Laravel이 mcrypt 확장자에서 실패했습니다.

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을 아무 일하지 these 답변을 다음과 같은 설치,하지만 함께 Mcrypt 라이브러리를 설치하려고이와

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

그것의 반환 : 나는 다음과 같은 before_script와 YAML 파일이 나를 위해. Cheked this 포럼 게시물도 있지만이 오류에 대해서는 언급이 없습니다.

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

답변

0

그래서 나는 php7.2가 더 이상 Mcrypt 라이브러리를 지원하는지 언급되지 그 기사 'PHP RFC: Deprecate (then Remove) Mcrypt' 발견 신장. 내 yaml 파일에서 나는 image: php:latest 명령을 사용했으며 이제는 image: php:7.1 (이 버전은 mcrypt를 지원합니다)으로 변경합니다.

매력처럼 작동합니다.