Docker 中 PHP 安装扩展汇总

# PHP 容器配置

# 从官方基础版本构建
FROM php:7.2-fpm
# 官方版本默认安装扩展:
# Core, ctype, curl
# date, dom
# fileinfo, filter, ftp
# hash
# iconv
# json
# libxml
# mbstring, mysqlnd
# openssl
# pcre, PDO, pdo_sqlite, Phar, posix
# readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard
# tokenizer
# xml, xmlreader, xmlwriter
# zlib

# 1.0.2 增加 bcmath, calendar, exif, gettext, sockets, dba,
# mysqli, pcntl, pdo_mysql, shmop, sysvmsg, sysvsem, sysvshm 扩展
RUN docker-php-ext-install -j$(nproc) bcmath calendar exif gettext sockets dba mysqli pcntl pdo_mysql shmop sysvmsg sysvsem sysvshm

# 1.0.3 增加 bz2 扩展, 读写 bzip2(.bz2)压缩文件
RUN 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

# 1.0.4 增加 enchant 扩展, 拼写检查库
RUN 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

# 1.0.5 增加 GD 扩展. 图像处理
RUN 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

# 1.0.6 增加 gmp 扩展, GMP
RUN 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

# 1.0.7 增加 soap wddx xmlrpc tidy xsl 扩展
RUN 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

# 1.0.8 增加 zip 扩展
RUN 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

# 1.0.9 增加 snmp 扩展
RUN 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

# 1.0.10 增加 pgsql, pdo_pgsql 扩展
RUN 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

# 1.0.11 增加 pspell 扩展
RUN 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

# 1.0.12 增加 recode 扩展
RUN 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

# 1.0.13 增加 PDO_Firebird 扩展
RUN 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

# 1.0.14 增加 pdo_dblib 扩展
RUN 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

# 1.0.15 增加 ldap 扩展
RUN 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

# 1.0.16 增加 imap 扩展
RUN 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

# 1.0.17 增加 interbase 扩展
RUN 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

# 1.0.18 增加 intl 扩展
RUN 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

# 1.0.19 增加 mcrypt 扩展
RUN 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

# 1.0.20 imagick 扩展
RUN 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

# 1.0.21 增加 Memcached 扩展
RUN 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

# 1.0.22 redis 扩展
RUN pecl install redis-4.0.1 && docker-php-ext-enable redis

# 1.0.23 增加 opcache 扩展
RUN docker-php-ext-configure opcache --enable-opcache && docker-php-ext-install opcache

# 1.0.24 增加 odbc, pdo_odbc 扩展
RUN set -ex; docker-php-source extract; {      echo ‘# https://github.com/docker-library/php/issues/103#issuecomment-271413933‘;      echo ‘AC_DEFUN([PHP_ALWAYS_SHARED],[])dnl‘;      echo;      cat /usr/src/php/ext/odbc/config.m4; } > temp.m4; mv temp.m4 /usr/src/php/ext/odbc/config.m4; apt-get update; apt-get install -y --no-install-recommends unixodbc-dev; rm -rf /var/lib/apt/lists/*; docker-php-ext-configure odbc --with-unixODBC=shared,/usr; docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixODBC,/usr; docker-php-ext-install odbc pdo_odbc; docker-php-source delete

# 镜像信息
LABEL Author="Leo"
LABEL Version="1.0.25-fpm"
LABEL Description="PHP FPM 7.2 镜像. All extensions."

转自 26点的博客

链接:http://www.iamlintao.com/6711.html

原文地址:https://www.cnblogs.com/hcpzhe/p/12109081.html

时间: 2024-11-08 18:24:28

Docker 中 PHP 安装扩展汇总的相关文章

docker中mysql安装,并使用宿主机ip远程登录

 docker 安装 1.拉取镜像 docker pull mysql:5.7 2.运行容器 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 docker exec -it mysql /bin/bash find / -name "*mysql*" exit 3.创建用于挂载的目录 mkdir -p /my/mysql/conf # 挂载配置文件 mkdir -p /my/my

Windows下 "redis安装"和"PHP中添加redis扩展"

一. 安装redis及启用服务1. 下载redis包 链接:http://pan.baidu.com/s/1sjKfZOD 密码:oy5c 2 .解压以后,可以看到以下文件 3.双击运行服务端redis-server.exe,开启服务,如图: 4.双击运行客户端redis-cli.exe,可见服务端有连接提示: 5.然后,就可以使用了: =======================================PHP中添加redis扩展============================

在Docker中安装和部署MongoDB集群

在Docker中安装mongodb 采用的mongodb镜像:https://registry.hub.docker.com/u/tutum/mongodb/ 以该镜像启动一个容器(注意此时mongodb是standalone模式): docker run -d --name=mongodb -p 27017:27017 -p 28017:28017 tutum/mongodb:3.0 docker logs mongodb 输出信息: =============================

docker中安装宝塔面板教程

本人电脑是win10,安装的virtualbox,装的centos7.2,在centos7.2装了docker,这个比较简单,网上一大堆教程,今天说一下装好了docker之后怎么在docker中安装面板. 1.先下载一个docker镜像: docker pull centos 2.创建docker容器: docker run -i -t -d -p 20:20 -p 21:21 -p 80:80 -p 443:443 -p 888:888 -p 8888:8888 --privileged=tr

Windows下docker的安装,将ASP.NET Core程序部署在docker中

参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html docker for windows下载连接: https://docs.docker.com/docker-for-windows/install/ 关于配置的细节以及docker的下载安装等操作,参考文章中已经介绍的

Docker中安装nginx

Docker中安装nginx 步骤: 1 .docker pull nginx 2.docker images 3.docker run -d -p 80:80 --name nginx nginx 4.docker ps 5.查看是否可以访问 注意:我这里是安装在云服务器的docker中. 原文地址:https://www.cnblogs.com/Edward-Wang/p/12049557.html

在Ubuntu18.04的Docker中安装Oracle镜像及简单使用

一.软件环境: 1.OS:Ubuntu 18.04 2.已安装了Docker 二.安装Oracle镜像的过程 1.切换到root账号下,如果是普通账号,下面操作指令前面加sudo 2.搜索oracle镜像 docker search oracle 3.下载oracle镜像 Docker pull registry.cn-hangzhou.aliyuncs.com/qida/oracle-xe-11g 4.查看镜像 docker images docker images registry.cn-h

Docker中安装mysql

1.docker 中下载 mysql docker pull mysql 2.启动 docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql 3.进入容器 docker exec -it mysql bash 4.登录mysql,密码输入123456 mysql -u root -p 5.添加远程登录用户 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_nat

Elasticsearch在互联网应用中遇到的问题汇总

Elasticsearch在互联网应用中遇到的问题汇总 课程观看地址:http://www.xuetuwuyou.com/course/176/tasks 课程出自学途无忧网:http://www.xuetuwuyou.com 讲师:夜行侠 本课程主要是总结同学们在学习中以及老师本人自己在整es的时候遇到的问题汇总,要是以后还有问题,老师还会陆续更新 课程目录: 第1集es的问题汇总 第2集es的权限控制插件编写 第3集es的权限控制插件运行 第4集搜索的精准性控制 第5集解决搜索中英文数字混合