php: 5-apache mcrypt.h не найден - PullRequest
0 голосов
/ 30 августа 2018

Я работаю над старым проектом (Laravel 4.2), который использует mcrypt и php5 и хочу запустить его на докере. Вот мой dockerfile:

FROM php:5-apache

COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

RUN apt-get update &&\
    apt-get install -y \
    git \
    libpng-dev \
    zlib1g-dev \
    zip \
    unzip &&\
    a2enmod rewrite

RUN docker-php-ext-install pdo 
RUN docker-php-ext-install pdo_mysql 
RUN docker-php-ext-install zip
RUN docker-php-ext-install gd 
RUN docker-php-ext-install pcntl  
RUN docker-php-ext-install mcrypt  

После запуска я получаю сообщение:

configure: ошибка: mcrypt.h не найден. Пожалуйста, переустановите libmcrypt.

Я пытаюсь добавить libmcrypt в apt-get install в вышеуказанном файле, но получаю:

E: невозможно найти пакет libmcrypt

Аналогичным образом я пытаюсь добавить php5-mcrypt, но получаю:

E: Пакет 'php5-mcrypt' не имеет кандидата на установку

Если я использую (и объединяюсь с вышеупомянутым) FROM php:5-apache-jessie и добавляю строку RUN rm /etc/apt/preferences.d/no-debian-php до RUN apt-get update &&\, я все равно получаю ошибки выше.

Вопрос: Как это решить?

1 Ответ

0 голосов
/ 30 августа 2018

Вместо использования libmcrypt или php5-mcrypt (ниже строки apt-get install -y \) просто используйте следующую библиотеку в dockerfile:

libmcrypt-dev \
...