无论是 pecl 安装 还是源码安装 都会出现同样的问题
Dockerfile 相关代码
FROM php:fpm-alpine
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
&& apk update \
&& apk add --no-cache libpng-dev freetype-dev libjpeg-turbo-dev libwebp-dev libxpm-dev \
zlib-dev \
libzip-dev \
autoconf gcc g++ make dpkg-dev automake \
libmcrypt-dev openssl-dev \
&& pecl channel-update pecl.php.net \
&& pecl install mongodb \
&& docker-php-ext-enable mongodb
docker build 报错信息
/bin/sh /tmp/pear/temp/pear-build-defaultuserDhPFiK/mongodb-1.10.0/libtool --mode=compile cc -Isrc/libmongoc/src/common/ -I/tmp/pear/temp/mongodb/src/libmongoc/src/common/ -I/tmp/pear/temp/pear-build-defaultuserDhPFiK/mongodb-1.10.0/include -I/tmp/pear/temp/pear-build-defaultuserDhPFiK/mongodb-1.10.0/main -I/tmp/pear/temp/mongodb -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/tmp/pear/temp/mongodb/src/libmongoc/src/common/ -I/tmp/pear/temp/mongodb/src/libmongoc/src/libbson/src/ -I/tmp/pear/temp/mongodb/src/libmongoc/src/libbson/src/jsonsl/ -I/tmp/pear/temp/mongodb/src/libmongoc/src/libmongoc/src/ -I/tmp/pear/temp/mongodb/src/libmongocrypt/src/ -I/tmp/pear/temp/mongodb/src/libmongocrypt/kms-message/src/ -I/tmp/pear/temp/mongodb/src/libmongocrypt-compat/ -I/tmp/pear/temp/mongodb/src/BSON/ -I/tmp/pear/temp/mongodb/src/MongoDB/ -I/tmp/pear/temp/mongodb/src/MongoDB/Exception/ -
I/tmp/pear/temp/mongodb/src/MongoDB/Monitoring/ -I/tmp/pear/temp/mongodb/src/contrib/ -DHAVE_CONFIG_H -g -O2 -DBSON_COMPILATION -DMONGOC_COMPILATION -DKMS_MESSAGE_ENABLE_CRYPTO=1 -DKMS_MESSAGE_ENABLE_CRYPTO_LIBCRYPTO=1 -c /tmp/pear/temp/mongodb/src/libmongoc/src/common/common-b64.c -o src/libmongoc/src/common/common-b64.lo
make: /bin/sh: Operation not permitted
make: *** [Makefile:277: src/libmongoc/src/common/common-b64.lo] Error 127
ERROR: `make' failed
问题已解决。
基础镜像换成
php:fpm-alpine3.13
可以正常build
,应该是alpine
版本问题。