如何在Docker上安装mcrypt

sub*_*arb 5 mcrypt php-extension docker

我有一个Docker容器与Phalcon3和PHP 7.我试图安装PHP扩展Mcrypt没有运气.

如果我对容器执行ssh,并执行:

apt-get update
apt-get install php7.0-mcrypt  
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

E: Unable to locate package php7.0-mcrypt
E: Couldn't find any package by regex 'php7.0-mcrypt'
Run Code Online (Sandbox Code Playgroud)

有没有办法安装它?

Buk*_*gey 10

让我们看看PHP docker image 部分PHP核心扩展的官方手册

例如,如果你想拥有一个带有iconv,mcrypt和gd扩展名的PHP-FPM图像,你可以继承你喜欢的基本图像,并编写你自己的Dockerfile,如下所示:

FROM php:7.0-fpm
RUN apt-get update && apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libmcrypt-dev \
        libpng-dev \
    && docker-php-ext-install -j$(nproc) iconv mcrypt \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install -j$(nproc) gd
Run Code Online (Sandbox Code Playgroud)

Rember,您必须手动为扩展安装依赖项.如果扩展需要自定义配置参数,则可以使用此示例中的docker-php-ext-configure脚本.在这种情况下,不需要手动运行docker-php-source,因为这是由配置和安装脚本处理的.


小智 10

从PHP手册:

此扩展已移至»PECL存储库,并且自PHP 7.2.0起不再与PHP捆绑在一起。

因此,在您的Dockerfile中,您必须:

RUN apt-get install libmcrypt-dev
RUN pecl install mcrypt-1.0.1 && docker-php-ext-enable mcrypt
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

12123 次

最近记录:

6 年,9 月 前