【问题标题】:php:5-apache mcrypt.h not foundphp:5-apache mcrypt.h 未找到
【发布时间】: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 的旧项目上工作 - 目前我别无选择(我更新了我的问题)

标签: docker mcrypt php-5.6


【解决方案1】:

不要使用libmcryptphp5-mcrypt(在apt-get install -y \ 下方),只需在dockerfile 中使用以下库:

libmcrypt-dev \

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-04
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-03
    • 2012-07-19
    • 2011-05-22
    相关资源
    最近更新 更多