docker中php如何安装扩展,docker环境安装php扩展

扩展安装工具

docker-php-source

下载并解压扩展tar包,使用完毕后需要删除tar包

FROM php:7.4-cli

RUN docker-php-source extract \

# do important things \

&& docker-php-source delete

复制代码

docker-php-ext-configure

安装前需要配置的扩展,已包含docker-php-source

docker-php-ext-install

配合上一个命令使用

docker-php-ext-enable

用来安装pecl 方式安装的扩展,本质就是添加一行extension=xxx.so到php.ini安装扩展

安装扩展

核心扩展

FROM php:7.4-fpm

RUN apt-get update && apt-get install -y \

libfreetype6-dev \

libjpeg62-turbo-dev \

libpng-dev \

&& docker-php-ext-configure gd --with-freetype --with-jpeg \

&& docker-php-ext-install -j$(nproc) gd

复制代码

pecl扩展

FROM php:7.4-cli

RUN pecl install redis-5.1.1 \

&& pecl install xdebug-2.8.1 \

&& docker-php-ext-enable redis xdebug

复制代码

FROM php:5.6-cli

RUN apt-get update && apt-get install -y libmemcached-dev zlib1g-dev \

&& pecl install memcached-2.2.0 \

&& docker-php-ext-enable memcached

复制代码

pecl扩展也可以通过下载后使用phpize手动安装

举个redis安装的例子

RUN apk update \

&& apk add autoconf \

&& apk add gcc g++

RUN apk add make

RUN pecl install redis

RUN docker-php-ext-enable redis

复制代码

也可以这样安装(未实验): 参见参考3

RUN apk update \

&& apk add autoconf \

&& apk add gcc g++\

&& apk add make \

&& wget https://pecl.php.net/get/redis-5.0.1.tgz -O redis.tgz \

&& mkdir -p redis \

&& tar -xf redis.tgz -C redis --strip-components=1 \

&& rm redis.tgz \

&& ( \

cd redis \

&& phpize \

&& ./configure --with-php-config=/usr/local/bin/php-config \

&& make -j$(nproc) \

&& make install \

) \

&& rm -r redis \

&& docker-php-ext-enable redis

复制代码

安装其他扩展

FROM php:5.6-cli

RUN curl -fsSL 'https://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz' -o xcache.tar.gz \

&& mkdir -p xcache \

&& tar -xf xcache.tar.gz -C xcache --strip-components=1 \

&& rm xcache.tar.gz \

&& ( \

cd xcache \

&& phpize \

&& ./configure --enable-xcache \

&& make -j "$(nproc)" \

&& make install \

) \

&& rm -r xcache \

&& docker-php-ext-enable xcache

复制代码

FROM php:5.6-cli

RUN curl -fsSL 'https://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz' -o xcache.tar.gz \

&& mkdir -p /tmp/xcache \

&& tar -xf xcache.tar.gz -C /tmp/xcache --strip-components=1 \

&& rm xcache.tar.gz \

&& docker-php-ext-configure /tmp/xcache --enable-xcache \

&& docker-php-ext-install /tmp/xcache \

&& rm -r /tmp/xcache

复制代码

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值