Alpine OS上的Php7 Redis客户端

我制作了一个使用Alpine 3.5作为基础图像的docker图像。 我希望我的PHP应用程序在容器内运行,以便与Redis服务器进行通信。但我在Alpine中找不到任何php7-redis客户端。

有没有围绕它的工作?我试图用pecl来安装redis,但没有pecl包在阿尔卑斯山。我尝试过梨,但梨没有redis包。 有关这个问题的任何想法?

你可以在这里find你的解决schemehttps://pkgs.alpinelinux.org/package/edge/community/x86_64/php7-redis

php7-redis是在v3.6(昨天发布)和边缘(滚动/不稳定),因为你可以很容易地发现自己在pkgs.alpinelinux.org 。

pecl目前由php7-pear包提供。

对于3.6之前的Alpine版本,比如当前的官方PHP Alpine图片 (Alpine 3.4),您需要从源代码构build扩展。 还有一些你需要做的依赖: autoconfgitgcc/g++make 。 例如,这是一个完整的Dockerfile,用于在Alpine上构build的PHP的最新稳定版本,并安装并启用了用于php7的redis扩展:

 FROM php:alpine RUN apk add --no-cache autoconf git g++ make RUN \ git clone https://github.com/phpredis/phpredis.git && \ cd phpredis && \ git checkout php7 && \ phpize && \ ./configure && \ make && make install && \ docker-php-ext-enable redis 

如果你想要一个较小的图像,你可以删除phpredis目录,然后克隆和构build它所需的代码。 如果你没有使用官方的PHP映像,那么你将需要用一些命令来replacedocker-php-ext-enable redis来将redis.so你需要的地方,并将extension=redis.so添加到你的PHPconfiguration。