Contents

Docker容器下PHP扩展操作

常用操作

docker容器下的PHP有自己特有的安装扩展方法:

进入php容器$:docker exec -it php /bin/bash

docker-php-source: //在容器中创建/usr/src/php文件夹

docker-php-ext-install: //安装并启动扩展(常用)

docker-php-ext-enable: //启动PHP扩展

docker-php-ext-configure: //添加扩展自定义配置,和enable搭配使用

zip

安装zip扩展所需的依赖扩展

apt-get update && apt-get install -y zlib1g-dev && apt-get install -y libzip-dev

安装并启动zip扩展

docker-php-ext-install zip

pdo_mysql

docker-php-ext-install pdo pdo_mysql

如果安装失败出现下面情况 /usr/local/bin/docker-php-ext-enable: cannot create /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini: Directory nonexistent  解决方案: 在/usr/local/etc/php目录下面新建 conf.d 也可以把 docker-php-ext-pdo_mysql.ini 文件也创建了,文件内容:

extension=pdo_mysql.so

修改完重新安装。

gd

相关报错 Call to undefined function think\captcha\imagecreate() 说明缺少gd扩展

安装依赖库

apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev 

解压源码

docker-php-source extract 

配置编译环境

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

redis

pecl seach redis #检索redis扩展

pecl install redis #安装

docker-php-ext-enable redis.so #安装完成将redis.so 文件加入到配置文件

php -m  #查看redis扩展就有了