以下问题均发生在php-fpm容器内

容器内 zip 扩展安装失败

Dockerfil 文件中,安装命令docker-php-ext-install zip,提示错误错误:

1
2
3
4
5
6
7
checking for libzip >= 0.11... no
configure: error: Package requirements (libzip >= 0.11) were not met:

No package 'libzip' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

解决办法:

1
2
3
RUN apt-get update && apt-get install -y \
        libzip-dev \
        && docker-php-ext-install zip

其他命令省略

容器内 mongodb 扩展安装失败问题

安装命令

1
2
RUN pecl install mongodb \
    && docker-php-ext-enable mongodb

这个经过排查发现,docker-compose rebuild 时,pecl下载下来的文件大小不够,无法解压导致(我公司网络太差了)

解决方案,手动下载下来,在使用pecl安装,命令

1
2
COPY ./ext/mongodb-1.7.4.tgz /tmp/mongodb-1.7.4.tgz
RUN pecl install /tmp/mongodb-1.7.4.tgz

容器内 composer 安装失败问题

安装命令

1
2
3
4
5
6
ENV COMPOSER_HOME /root/composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
ENV PATH $COMPOSER_HOME/vendor/bin:$PATH

#  Set Composer repo
RUN composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

经排查,问题同上,网络问题导致,解决方案一样,命令如下

COPY ./ext/composer.phar /usr/local/bin/composer