无法在 Docker php fpm-alpine 镜像中安装 Redis 扩展

问题描述 投票:0回答:5

这是我的 Dockerfile

FROM php:8.1-fpm-alpine3.15
RUN apk update; \
    apk upgrade;

RUN apk add libzip-dev
RUN docker-php-ext-install zip

RUN apk add --no-cache libpng libpng-dev && docker-php-ext-install gd && apk del libpng-dev

RUN docker-php-ext-install mysqli pdo pdo_mysql

RUN apk add --no-cache pcre-dev $PHPIZE_DEPS && pecl install redis && docker-php-ext-enable redis.so

我在构建过程中收到此错误

“pecl.php.net/redis”包没有可用的版本

docker redis alpine-linux
5个回答
2
投票

只需在

pecl update-channels
之前添加
pecl -o -f install redis

已添加

apk del $PHPIZE_DEPS
进行清理。

FROM php:8.1-fpm-alpine3.15
RUN apk update; \
    apk upgrade;

RUN apk add libzip-dev
RUN docker-php-ext-install zip

RUN apk add --no-cache libpng libpng-dev && \
    docker-php-ext-install gd && \
    apk del libpng-dev

RUN docker-php-ext-install mysqli pdo pdo_mysql

RUN apk add --no-cache pcre-dev $PHPIZE_DEPS && \
    pecl update-channels && \
    pecl install redis && \
    docker-php-ext-enable redis && \
    apk del $PHPIZE_DEPS

1
投票

查看这个 github 问题:https://github.com/laradock/laradock/issues/1661 有人在不同的情况下遇到了类似的问题。有几种可能的解决方法。

归结为您的连接可能无法检索软件包,您需要执行一些额外的步骤,例如更新频道,然后才能搜索/安装 redis。


1
投票

我遇到了类似的问题,每次都会给我不同的错误消息

错误:“redis”不存在或

错误:“xdebug”不存在

我设法用这个解决了这个问题 https://github.com/laradock/laradock/issues/1661#issuecomment-849813400

# add these 2 lines before pecl install solved my download/connection issue
RUN pear update-channels
RUN pecl update-channels

RUN pecl install redis xdebug mongodb \
    && docker-php-ext-enable redis xdebug mongodb

0
投票

仅将

pecl install redis
替换为
pecl -o -f install redis

FROM php:8.1-fpm-alpine3.15
RUN apk update; \
    apk upgrade;

RUN apk add libzip-dev
RUN docker-php-ext-install zip

RUN apk add --no-cache libpng libpng-dev && docker-php-ext-install gd && apk del libpng-dev

RUN docker-php-ext-install mysqli pdo pdo_mysql

RUN apk add --no-cache pcre-dev $PHPIZE_DEPS && pecl -o -f install redis && docker-php-ext-enable redis.so

0
投票

对于那些在访问

pecl
模块时遇到问题的人,这里有一个非 pecl 的方法。

RUN git clone https://github.com/phpredis/phpredis.git
RUN cd phpredis; phpize; ./configure; make && make install
RUN docker-php-ext-install '/var/www/html/phpredis' && docker-php-ext-enable redis

无需pecl即可安装。

© www.soinside.com 2019 - 2024. All rights reserved.