PHP 在 Docker 中扩展汇总
docker 2020-10-14 13:17:58

# 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

 

PHP Code复制内容到剪贴板
  1. # 1.0.2 增加 bcmath, calendar, exif, gettext, sockets, dba,   
  2. # mysqli, pcntl, pdo_mysql, shmop, sysvmsg, sysvsem, sysvshm 扩展  
  3. RUN docker-php-ext-install -j$(nproc) bcmath calendar exif gettext \  
  4. sockets dba mysqli pcntl pdo_mysql shmop sysvmsg sysvsem sysvshm  
  5.   
  6. # 1.0.3 增加 bz2 扩展, 读写 bzip2(.bz2)压缩文件  
  7. RUN apt-get update && \  
  8. apt-get install -y --no-install-recommends libbz2-dev && \  
  9. rm -r /var/lib/apt/lists/* && \  
  10. docker-php-ext-install -j$(nproc) bz2  
  11.   
  12. # 1.0.4 增加 enchant 扩展, 拼写检查库  
  13. RUN apt-get update && \  
  14. apt-get install -y --no-install-recommends libenchant-dev && \  
  15. rm -r /var/lib/apt/lists/* && \  
  16. docker-php-ext-install -j$(nproc) enchant  
  17.   
  18. # 1.0.5 增加 GD 扩展. 图像处理  
  19. RUN apt-get update && \  
  20. apt-get install -y --no-install-recommends libfreetype6-dev libjpeg62-turbo-dev libpng-dev && \  
  21. rm -r /var/lib/apt/lists/* && \  
  22. docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \  
  23. docker-php-ext-install -j$(nproc) gd  
  24.   
  25. # 1.0.6 增加 gmp 扩展, GMP  
  26. RUN apt-get update && \  
  27. apt-get install -y --no-install-recommends libgmp-dev && \  
  28. rm -r /var/lib/apt/lists/* && \  
  29. docker-php-ext-install -j$(nproc) gmp  
  30.   
  31. # 1.0.7 增加 soap wddx xmlrpc tidy xsl 扩展  
  32. RUN apt-get update && \  
  33. apt-get install -y --no-install-recommends libxml2-dev libtidy-dev libxslt1-dev && \  
  34. rm -r /var/lib/apt/lists/* && \  
  35. docker-php-ext-install -j$(nproc) soap wddx xmlrpc tidy xsl  
  36.   
  37. # 1.0.8 增加 zip 扩展  
  38. RUN apt-get update && \  
  39. apt-get install -y --no-install-recommends libzip-dev && \  
  40. rm -r /var/lib/apt/lists/* && \  
  41. docker-php-ext-install -j$(nproc) zip  
  42.   
  43. # 1.0.9 增加 snmp 扩展  
  44. RUN apt-get update && \  
  45. apt-get install -y --no-install-recommends libsnmp-dev && \  
  46. rm -r /var/lib/apt/lists/* && \  
  47. docker-php-ext-install -j$(nproc) snmp  
  48.   
  49. # 1.0.10 增加 pgsql, pdo_pgsql 扩展   
  50. RUN apt-get update && \  
  51. apt-get install -y --no-install-recommends libpq-dev && \  
  52. rm -r /var/lib/apt/lists/* && \  
  53. docker-php-ext-install -j$(nproc) pgsql pdo_pgsql  
  54.   
  55. # 1.0.11 增加 pspell 扩展   
  56. RUN apt-get update && \  
  57. apt-get install -y --no-install-recommends libpspell-dev && \  
  58. rm -r /var/lib/apt/lists/* && \  
  59. docker-php-ext-install -j$(nproc) pspell  
  60.   
  61. # 1.0.12 增加 recode 扩展   
  62. RUN apt-get update && \  
  63. apt-get install -y --no-install-recommends librecode-dev && \  
  64. rm -r /var/lib/apt/lists/* && \  
  65. docker-php-ext-install -j$(nproc) recode  
  66.   
  67. # 1.0.13 增加 PDO_Firebird 扩展   
  68. RUN apt-get update && \  
  69. apt-get install -y --no-install-recommends firebird-dev && \  
  70. rm -r /var/lib/apt/lists/* && \  
  71. docker-php-ext-install -j$(nproc) pdo_firebird  
  72.   
  73. # 1.0.14 增加 pdo_dblib 扩展   
  74. RUN apt-get update && \  
  75. apt-get install -y --no-install-recommends freetds-dev && \  
  76. rm -r /var/lib/apt/lists/* && \  
  77. docker-php-ext-configure pdo_dblib --with-libdir=lib/x86_64-linux-gnu && \  
  78. docker-php-ext-install -j$(nproc) pdo_dblib  
  79.   
  80. # 1.0.15 增加 ldap 扩展   
  81. RUN apt-get update && \  
  82. apt-get install -y --no-install-recommends libldap2-dev && \  
  83. rm -r /var/lib/apt/lists/* && \  
  84. docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu && \  
  85. docker-php-ext-install -j$(nproc) ldap  
  86.   
  87. # 1.0.16 增加 imap 扩展   
  88. RUN apt-get update && \  
  89. apt-get install -y --no-install-recommends libc-client-dev libkrb5-dev && \  
  90. rm -r /var/lib/apt/lists/* && \  
  91. docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \  
  92. docker-php-ext-install -j$(nproc) imap  
  93.   
  94. # 1.0.17 增加 interbase 扩展   
  95. RUN apt-get update && \  
  96. apt-get install -y --no-install-recommends firebird-dev && \  
  97. rm -r /var/lib/apt/lists/* && \  
  98. docker-php-ext-install -j$(nproc) interbase  
  99.   
  100. # 1.0.18 增加 intl 扩展   
  101. RUN apt-get update && \  
  102. apt-get install -y --no-install-recommends libicu-dev && \  
  103. rm -r /var/lib/apt/lists/* && \  
  104. docker-php-ext-install -j$(nproc) intl  
  105.   
  106. # 1.0.19 增加 mcrypt 扩展   
  107. RUN apt-get update && \   
  108. apt-get install -y --no-install-recommends libmcrypt-dev && \  
  109. rm -r /var/lib/apt/lists/* && \  
  110. pecl install mcrypt-1.0.1 && \  
  111. docker-php-ext-enable mcrypt  
  112.   
  113. # 1.0.20 imagick 扩展  
  114. RUN export CFLAGS="$PHP_CFLAGS" CPPFLAGS="$PHP_CPPFLAGS" LDFLAGS="$PHP_LDFLAGS" && \  
  115. apt-get update && \  
  116. apt-get install -y --no-install-recommends libmagickwand-dev && \  
  117. rm -rf /var/lib/apt/lists/* && \  
  118. pecl install imagick-3.4.3 && \  
  119. docker-php-ext-enable imagick  
  120.   
  121. # 1.0.21 增加 Memcached 扩展   
  122. RUN apt-get update && \   
  123. apt-get install -y --no-install-recommends zlib1g-dev libmemcached-dev && \  
  124. rm -r /var/lib/apt/lists/* && \  
  125. pecl install memcached && \  
  126. docker-php-ext-enable memcached  
  127.   
  128. # 1.0.22 redis 扩展  
  129. RUN pecl install redis-4.0.1 && docker-php-ext-enable redis  
  130.   
  131. # 1.0.23 增加 opcache 扩展   
  132. RUN docker-php-ext-configure opcache --enable-opcache && docker-php-ext-install opcache  
  133.   
  134. # 1.0.24 增加 odbc, pdo_odbc 扩展   
  135. RUN set -ex; \  
  136. docker-php-source extract; \  
  137. { \  
  138.      echo '# https://github.com/docker-library/php/issues/103#issuecomment-271413933'; \  
  139.      echo 'AC_DEFUN([PHP_ALWAYS_SHARED],[])dnl'; \  
  140.      echo; \  
  141.      cat /usr/src/php/ext/odbc/config.m4; \  
  142. } > temp.m4; \  
  143. mv temp.m4 /usr/src/php/ext/odbc/config.m4; \  
  144. apt-get update; \  
  145. apt-get install -y --no-install-recommends unixodbc-dev; \  
  146. rm -rf /var/lib/apt/lists/*; \  
  147. docker-php-ext-configure odbc --with-unixODBC=shared,/usr; \  
  148. docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixODBC,/usr; \  
  149. docker-php-ext-install odbc pdo_odbc; \  
  150. docker-php-source delete  
  151.   
  152. # 镜像信息  
  153. LABEL Author="Leo"  
  154. LABEL Version="1.0.25-fpm"  
  155. LABEL Description="PHP FPM 7.2 镜像. All extensions."  

 

 

 

本文来自于:http://www.iamlintao.com/6711.html

Powered by yoyo苏ICP备15045725号