docker安装php扩展大全

    本文收录了大部分的php扩展安装命令,php版本以7.2为基准。

    docker环境中的PHP有两种安装方式

        1.pecl安装

        2.docker-php-ext-install安装命令,相对应的还有另外三个命令:

            docker-php-ext-enable  

            docker-php-source 

            docker-php-ext-configure 

    第一步:进入容器

docker exec -it containerID(container alias name) /bin/bash

查看docker提供的安装命令

cd /usr/local/bin #命令目录

ls -l #查看命令


pecl -v #检查pecl是否安装,一般官网的镜像都会自动安装pecl

php -m | group (ext) #查看你想要的扩展是否安装

 使用docker-php-ext-install安装php扩展,注意这里的扩展版本可以去Debian查找,pecl安装不做介绍,执行pecl install命令即可(注意pecl安装结束是会提醒你开启扩展,你可以执行docker-php-ext-enable,也可以去/usr/local/etc/nginx/conf.d目录下copy一个个扩展文件,将.so文件写入其中即可。

#bz2 扩展的安装, 读写 bzip2(.bz2)压缩文件
apt-get update && \
apt-get install -y --no-install-recommends libbz2-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-install -j$(nproc) bz2

#enchant 扩展的安装, 拼写检查库
apt-get update && \
apt-get install -y --no-install-recommends libenchant-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-install -j$(nproc) enchant

#gd 扩展的安装. 图像处理
apt-get update && \
apt-get install -y --no-install-recommends libfreetype6-dev libjpeg62-turbo-dev libpng-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
docker-php-ext-install -j$(nproc) gd

#gmp 扩展的安装, GMP
apt-get update && \
apt-get install -y --no-install-recommends libgmp-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-install -j$(nproc) gmp

#soap wddx xmlrpc tidy xsl 扩展的安装
apt-get update && \
apt-get install -y --no-install-recommends libxml2-dev libtidy-dev libxslt1-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-install -j$(nproc) soap wddx xmlrpc tidy xsl

#zip 扩展的安装
apt-get update && \
apt-get install -y --no-install-recommends libzip-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-install -j$(nproc) zip

#snmp 扩展的安装
apt-get update && \
apt-get install -y --no-install-recommends libsnmp-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-install -j$(nproc) snmp

#pgsql, pdo_pgsql 扩展的安装
apt-get update && \
apt-get install -y --no-install-recommends libpq-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-install -j$(nproc) pgsql pdo_pgsql

#pspell 扩展的安装 
apt-get update && \
apt-get install -y --no-install-recommends libpspell-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-install -j$(nproc) pspell

#recode 扩展的安装 
apt-get update && \
apt-get install -y --no-install-recommends librecode-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-install -j$(nproc) recode

#pdo_firebird 扩展的安装 
apt-get update && \
apt-get install -y --no-install-recommends firebird-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-install -j$(nproc) pdo_firebird

#pdo_dblib 扩展的安装 
apt-get update && \
apt-get install -y --no-install-recommends freetds-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-configure pdo_dblib --with-libdir=lib/x86_64-linux-gnu && \
docker-php-ext-install -j$(nproc) pdo_dblib

#ldap 扩展的安装 
apt-get update && \
apt-get install -y --no-install-recommends libldap2-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu && \
docker-php-ext-install -j$(nproc) ldap

#imap 扩展的安装 
apt-get update && \
apt-get install -y --no-install-recommends libc-client-dev libkrb5-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install -j$(nproc) imap

#interbase 扩展的安装 
apt-get update && \
apt-get install -y --no-install-recommends firebird-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-install -j$(nproc) interbase

#intl 扩展的安装 
apt-get update && \
apt-get install -y --no-install-recommends libicu-dev && \
rm -r /var/lib/apt/lists/* && \
docker-php-ext-install -j$(nproc) intl

#mcrypt 扩展的安装 
apt-get update && \ 
apt-get install -y --no-install-recommends libmcrypt-dev && \
rm -r /var/lib/apt/lists/* && \
pecl install mcrypt-1.0.1 && \
docker-php-ext-enable mcrypt

#imagick 扩展的安装
export CFLAGS="$PHP_CFLAGS" CPPFLAGS="$PHP_CPPFLAGS" LDFLAGS="$PHP_LDFLAGS" && \
apt-get update && \
apt-get install -y --no-install-recommends libmagickwand-dev && \
rm -rf /var/lib/apt/lists/* && \
pecl install imagick-3.4.3 && \
docker-php-ext-enable imagick

#memcached 扩展的安装 
apt-get update && \ 
apt-get install -y --no-install-recommends zlib1g-dev libmemcached-dev && \
rm -r /var/lib/apt/lists/* && \
pecl install memcached && \
docker-php-ext-enable memcached

#redis 扩展的安装
pecl install redis && docker-php-ext-enable redis

# opcache 扩展的安装 
docker-php-ext-configure opcache --enable-opcache && docker-php-ext-install opcache

扩展安装时,不必每次都执行rm -r /var/lib/apt/lists/*和apt-get update,可以等安装完后执行一遍

command+d退出容器,docker restart containerID(container alias name)重启

 参考文档:

Debian

 

你可能感兴趣的:(docker,PHP学习整理笔记,docker,php,docker中安装php扩展)