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