docker系列 -- 安装PHP扩展

1、进入PHP容器

docker exec -it php7.4-fpm /bin/bash

2、使用pecl安装amqp扩展(docker内置了pecl和apt-get,可以直接用)

# 安装相关依赖
1、apt-get update && apt-get install -y libfreetype6-dev librabbitmq-dev libjpeg62-turbo-dev libmcrypt-dev libpng-dev

# 安装amqp
2、pecl install amqp

# 启用amqp扩展
3、docker-php-ext-enable amqp

3、退出容器重启PHP

docker restart php7.4-fpm

4、成功

5、常用命令介绍

 

1、docker-php-source
此命令,实际上就是在PHP容器中创建一个/usr/src/php的目录,里面放了一些自带的文件而已。
我们就把它当作一个从互联网中下载下来的PHP扩展源码的存放目录即可。
事实上,所有PHP扩展源码扩展存放的路径: /usr/src/php/ext 里面。
相当于PHP源码包里面的那个扩展目录

格式:
docker-php-source extract | delete
参数说明:

extract : 创建并初始化 /usr/src/php目录
delete : 删除 /usr/src/php目录


2、docker-php-ext-enable
这个命令,就是用来启动 PHP扩展 的。
我们使用pecl安装PHP扩展的时候,默认是没有启动这个扩展的,如果想要使用这个扩展必须要在php.ini这个配置文件中去配置一下才能使用这个PHP扩展。
而 docker-php-ext-enable 这个命令则是自动给我们来启动PHP扩展的,不需要你去php.ini这个配置文件中去配置。

3、docker-php-ext-install
这个命令,是用来安装并启动PHP扩展的。

命令格式:
docker-php-ext-install “源码包目录名”

注意点:

“源码包“需要放在 /usr/src/php/ext 下
默认情况下,PHP容器没有 /usr/src/php这个目录,需要使用 docker-php-source extract来生成。
docker-php-ext-install 安装的扩展在安装完成后,会自动调用docker-php-ext-enable来启动安装的扩展。
卸载扩展,直接删除/usr/local/etc/php/conf.d 对应的配置文件即可。

4、docker-php-ext-configure
docker-php-ext-configure 一般都是需要跟 docker-php-ext-install搭配使用的。
它的作用就是,当你安装扩展的时候,需要自定义配置时,就可以使用它来帮你做到。
所以这个命令会在docker-php-ext-install 之前执行。

6、例子

安装imagick扩展

第一步:下载ImageMagick wget http://www.imagemagick.org/download/ImageMagick.tar.gz
然后解压,安装./configure --prefix=/usr/local/imagemagick;make && make install
第二步:下载扩展wget http://pecl.php.net/get/imagick-3.4.4.tgz
然后解压,移动到指定目录:mv imagick-3.4.4 /usr/src/php/ext/imagick
第三步:加载自定义配置docker-php-ext-configure imagick --with-php-config=/usr/local/bin/php-config --with-imagick=/usr/local/imagemagick
第四步:安装:docker-php-ext-install imagick

 

posted @ 2022-05-18 12:45  陈浩宇人呢  阅读(463)  评论(0编辑  收藏  举报