我使用的是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左右,到此成功。