【发布时间】:2019-02-05 09:54:19
【问题描述】:
我在一些使用 mcrypt 和 php5 的旧项目(Laravel 4.2)上工作,并想在 docker 上运行它。这是我的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
运行后我收到消息:
配置:错误:找不到 mcrypt.h。请重新安装 libmcrypt。
我尝试在上述文件中的apt-get install 下添加libmcrypt,但我得到:
E: 无法定位软件包 libmcrypt
以类似的方式,我尝试添加php5-mcrypt,但我得到:
E: 包 'php5-mcrypt' 没有安装候选者
如果我使用(并与上面结合)FROM php:5-apache-jessie 并在RUN apt-get update &&\ 之前添加行RUN rm /etc/apt/preferences.d/no-debian-php,我仍然会遇到上述错误。
问题:如何解决?
【问题讨论】:
-
我想在 php 中使用 mcrypt。 不是那个人,但是:不。你没有。
mcrypt自发布之日起几乎已被废弃,在 PHP 7 中将其删除的原因不止一个。 -
@Loek - 我在使用 php5 和 mcrypt 的旧项目上工作 - 目前我别无选择(我更新了我的问题)