alpine的docker环境中php安装amqp扩展

我使用的是ric_harvey/nginx-php-fpm的镜像。因为用的是alpine,命令和包名称和centos等系统的都不太一样。遇到了很多坑,但是我当时没有记录下来,出错以后查看相应的错误提示,也能知道是少了哪些包。

这里做一下使用的命令记录。

安装 autoconf(无configure脚本时):

apk add --no-cache -U autoconf

安装 C 编译器:

apk add --no-cache -U gcc
apk add --no-cache -U libc-dev

安装make

apk add --no-cache -U make

librabbitmq-c和librabbitmq-c-dev

apk add --no-cache rabbitmq-c

apk add --no-cache rabbitmq-c-dev

注意: 不要再提示输入的时候输入任何东西,否则会提示找不到rabbitmq-c或rabbitmq-c-dev

总的:

apk add --no-cache -U autoconf \
&& apk add --no-cache -U gcc \
&& apk add --no-cache -U make \
&& apk add --no-cache -U libc-dev \
&& apk add --no-cache -U rabbitmq-c \
&& apk add --no-cache -U rabbitmq-c-dev \
&& pecl install amqp \
&& apk del autoconf \
&& apk del autoconf make\
&& apk del autoconf gcc

安装完,提示拷贝.so文件到相应文件夹:

Build process completed successfully
Installing '/usr/local/lib/php/extensions/no-debug-non-zts-20170718/amqp.so'
install ok: channel://pecl.php.net/amqp-1.10.2
configuration option "php_ini" is not set to php.ini location
You should add "extension=amqp.so" to php.ini

php.ini中增加的

[AMQP]
extension=amqp.so

使用php -m查看是否有此扩展

镜像大小

最后的三个命令其实就是移除不必要的包,缩小镜像大小。如果不移除,镜像增加100m,移除之后,镜像大概增加了13m左右,到此成功。

上一篇:java springcloud版b2b2c社交电商spring cloud分布式微服务(十五)Springboot整合RabbitMQ


下一篇:visualvm 和jdk 对应版本下载地址列表