docker 官方 php 镜像下安装后没有 mysqli gd 拓展

$ docker exec -it php /bin/bashphp

$ cd /usr/local/bin  html

$ ./docker-php-ext-install pdo_mysql mysqli mysql gd libzip-dev zip       // ./docker-php-ext-install pdo_mysql mysqli gd zip bcmathmysql

$ docker restart phpweb

 

ps:sql

if custom ./configure arguments are necessary, see docker-php-ext-configuremongodb

Possible values for ext-name:docker

bcmath bz2 calendar ctype curl dba dom enchant exif fileinfo filter ftp gd gettext gmp hash iconv imap interbase intl json ldap mbstring mcrypt mssql mysql mysqli oci8 odbc opcache pcntl pdo pdo_dblib pdo_firebird pdo_mysql pdo_oci pdo_odbc pdo_pgsql pdo_sqlite pgsql phar posix pspell readline recode reflection session shmop simplexml snmp soap sockets spl standard sybase_ct sysvmsg sysvsem sysvshm tidy tokenizer wddx xml xmlreader xmlrpc xmlwriter xsl zipjson

apt-get update && \ apt-get install -y libmcrypt-dev

 

// 安装 gd 拓展bash

apt-get update && apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libpng-dev \
    && docker-php-ext-install -j$(nproc) iconv \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install -j$(nproc) gd

 

// 自定义 imagessession

Dockerfile

FROM php:5.6-fpm

RUN apt-get update && \
apt-get install -y --no-install-recommends \
libssl-dev 


# install the mongodb extension
RUN pecl install mongo-1.6.1 && \
docker-php-ext-enable mongo

Dockerfile

FROM php:5.6-fpm

RUN apt-get update && \
apt-get install -y --no-install-recommends \
libssl-dev 


# install the mongodb extension
RUN pecl install mongodb-1.4.4 && \
docker-php-ext-enable mongodb
FROM php:7.1-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

 

ps:

https://blog.aikamino.cn/a/1019.html

gd库安装步骤

在容器内使用docker-php-ext-install gd安装gd,使用过程当中一些程序报错Call to undefined function imagettftext()。在phpinfo中发现它只支持png,因此须要从新编译。

本文使用的docker镜像为php:7.1-fpm

《给docker中的PHP安装gd扩展》

操做步骤

首先主机中执行docker exec -it <容器名 or id> /bin/bash进入容器的命令行。

#主机中
#若是以前启用了gd,须要先在php.ini文件中注释掉extension=gd.so并重启容器
docker exec -it <容器ID或容器名称> /bin/bash    #进入php容器
#容器中
echo "deb http://mirrors.163.com/debian/ stretch main contrib non-free\ndeb http://mirrors.163.com/debian/ stretch-updates main contrib non-free\ndeb http://mirrors.163.com/debian/ stretch-backports main contrib non-free" > /etc/apt/sources.list  #软件源修改成网易镜像站源
apt update  #更新软件源
apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev #安装各类库
docker-php-source extract #解压源码
cd /usr/src/php/ext/gd  #gd源码文件夹
docker-php-ext-configure gd --with-webp-dir=/usr/include/webp --with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-freetype-dir=/usr/include/freetype2   #准备编译
docker-php-ext-install gd   #编译安装
php -m | grep gd
#重启容器

若是没有出现错误,那么gd应该已经支持jpeg等。

《给docker中的PHP安装gd扩展》

相关文章
相关标签/搜索