在docker的php容器中,有些扩展是需要自己安装的,安装方式有普通物理主机有所不同,在这里简单记录一下。
一、如何在docker容器中安装php自带的扩展模块?
1、进入到php容器中:
2、查看php当前自带的扩展模块:
或进入扩展模块目录下查看:
php自带的扩展若没有安装的话,可以使用以下命令进行安装:
3、安装gd扩展模块:
a、先安装gd相应的依赖包:
[root@server ~]$ apt-get install libwebp-dev libjpeg-dev libpng-dev zlib1g-dev libfreetype6-dev libjpeg62-turbo-dev
b、添加gd库编译选项:
[root@server ~]$ docker-php-ext-configure gd --with-webp=/usr/include/webp --with-jpeg=/usr/include --with-freetype=/usr/include/freetype2/
c、再安装gd扩展模块:
[root@server ~]$ docker-php-ext-install gd
4、安装exif扩展模块:
5、安装缓存器OPcache扩展:
6、安装pdo扩展模块
7、安装mysqli扩展模块
8、安装zip扩展模块:
a、安装libzip依赖:
b、安装zip扩展:
9、安装sockets扩展:
10、安装bcmath扩展:
二、如何在docker容器中安装第三方扩展?
以安装ioncube为例讲一下步骤:
1、切换到/usr/local/目录:
2、下载安装包,根据自己使用的系统下载对应的64位或是32位包(下地地址:https://www.ioncube.com/loaders.php),可使用uname -a命令查看系统:
3、解压安装包:
4、解压后,可以看到里面有各个php版本对应的.so文件,根据你的php版本自行选择对应的,然后修改php.ini配置文件,在文件尾部添加如下代码:
再以安装imagick为例讲一下安装步骤。
1、由于安装imagick扩展时需要依赖ImageMagick的函数库,因此必须要先安装ImageMagick
a、下载安装包(版本选择可前往:https://imagemagick.org/download/):
b、解压安装包:
c、进入安装目录:
d、进行配置:
e、执行安装:
2、安装PHP的扩展imagick:
安装imagick扩展时需要PHP >= 5.1.3,ImageMagick >= 6.2.4,可以从http://pecl.php.net/package/imagick找到imagick的最新的stable版本。
a、下载最新版本(下载地址:http://pecl.php.net/package/imagick):
b、解压安装包:
c、进入安装目录:
d、配置phpize:phpize是一个shell脚本,主要是用来进行编译环境的准备,执行以后会生成一些新的文件,为配置、编译及安装作好准备。在imagick-3.4.4目录中执行/usr/local/bin/phpize(php容器中的位置)以生成configure。
e、查找配置相关的php-config路径:
f、进行配置(将上一步的中php-config路径放入到--with-php-config):
g、执行安装:
3.配置扩展:
打开配置文件php.ini(php容器中的位置:/usr/local/etc/php/php.ini),加入如下的一行 :
然后执行php -m | grep imagick,发现已经出现imagick模块了,证明imagick已经生效了
在完成扩展安装后,退出并重启容器就可以生效了。
注意:如果进入容器无法使用wget之类的命令,请参考《docker容器中安装常用命令工具》。
我安装好的扩展模块目录为:/usr/local/lib/php/extensions/no-debug-non-zts-20190902/。这个目录根据系统和环境会有不同。
最后编辑时间为: 2021年02月27日 18:34:15
本文由 ProgramSay 创作,
采用 知识共享署名 4.0 国际许可协议进行许可
可自由转载、引用,但需署名作者且注明文章出处