php - PECL 包在 Docker 中安装失败

标签 php docker dockerfile pecl

当作为 dockerfile 的一部分从 docker 中的 PECL 包管理器安装 opencensus-alpha 时,会抛出错误 /bin/sh: pecl: not found

docker 文件

FROM nginx:1.17.4-alpine

RUN apk --no-cache add php7 php7-fpm php7-mysqli php7-pdo_mysql php7-json php7-openssl php7-curl \
    php7-zlib php7-xml php7-simplexml php7-phar php7-intl php7-dom php7-xmlreader php7-xmlwriter  php7-ctype php7-session \
    php7-mbstring php7-gd php-zip supervisor  libxml2-dev php7-tokenizer

RUN pecl install opencensus-alpha

有什么简单的方法可以在 docker 容器中安装和启用 opencensus-alpha

最佳答案

你需要php7-pear包来获取pecl命令,你还需要php-devgccmusl-devmake 用于 peclphpize 的包能够正确构建和安装其他包。

添加一个新的 RUN 行:

RUN apk --no-cache add php7-pear php7-dev gcc musl-dev make

或修改您现有的 RUN 行:

RUN apk --no-cache add php7 php7-fpm php7-mysqli php7-pdo_mysql php7-json php7-openssl php7-curl \
    php7-zlib php7-xml php7-simplexml php7-phar php7-intl php7-dom php7-xmlreader php7-xmlwriter  php7-ctype php7-session \
    php7-mbstring php7-gd php-zip supervisor  libxml2-dev php7-tokenizer php7-pear php7-dev gcc musl-dev make

关于php - PECL 包在 Docker 中安装失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61282013/

相关文章:

php - 流明与 mongodb :getting error : Call to a member function prepare() on null

php - 从数组中删除重复项,然后删除空值,然后重组

php - 如何从 PHP 向 MySQL 输入特殊字符?

amazon-web-services - 如何在 docker 容器内使用主机的 IAM

nginx - docker运行启动服务

php - MySQL 查询标签系统,仅选择使用过的标签

networking - Docker Compose网络:nginx中的主机名无法解析

docker - 我的 Docker 服务的 URL 是什么?

docker - 如何使docker为基础镜像中预先存在的文件更改仅生成差异层?

docker - 在cronjob中重新启动CMD进程