Php7 Alpine 上的 Redis 客户端 OS
Php7 Redis Client on Alpine OS
我使用 alpine 3.5 作为基础图像制作了一个 docker 图像。我希望容器内的 php 应用程序 运行 与 redis 通信 server.But 我在 Alpine 中找不到任何 php7-redis 客户端。
有解决办法吗?我尝试使用 pecl 安装 redis,但 alpine.I 中没有 pecl 包,我尝试使用 pear,但 pear 没有 redis 包。对这个问题有什么想法吗?
php7-redis 在 v3.6(昨天发布)和 edge (rolling/unstable) 中,您可以轻松地 find yourself on pkgs.alpinelinux.org.
pecl 当前由包 php7-pear.
提供
对于Alpine 3.6之前的版本,比如现在官方的PHP Alpine image(Alpine 3.4),需要从源码构建扩展。您还需要执行一些依赖项:autoconf
、git
、gcc/g++
和 make
。例如,这是在 Alpine 上构建的 PHP 最新稳定版本的完整 Dockerfile,安装并启用了 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 目录和之后克隆和构建它所需的 deps。如果您没有使用官方 PHP 图片,那么您需要用几个命令替换 docker-php-ext-enable redis
以将 redis.so
移动到您需要的位置并添加 extension=redis.so
行到您的 PHP 配置。
您可以在这里找到您的解决方案https://pkgs.alpinelinux.org/package/edge/community/x86_64/php7-redis
我使用 alpine 3.5 作为基础图像制作了一个 docker 图像。我希望容器内的 php 应用程序 运行 与 redis 通信 server.But 我在 Alpine 中找不到任何 php7-redis 客户端。
有解决办法吗?我尝试使用 pecl 安装 redis,但 alpine.I 中没有 pecl 包,我尝试使用 pear,但 pear 没有 redis 包。对这个问题有什么想法吗?
php7-redis 在 v3.6(昨天发布)和 edge (rolling/unstable) 中,您可以轻松地 find yourself on pkgs.alpinelinux.org.
pecl 当前由包 php7-pear.
提供对于Alpine 3.6之前的版本,比如现在官方的PHP Alpine image(Alpine 3.4),需要从源码构建扩展。您还需要执行一些依赖项:autoconf
、git
、gcc/g++
和 make
。例如,这是在 Alpine 上构建的 PHP 最新稳定版本的完整 Dockerfile,安装并启用了 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 目录和之后克隆和构建它所需的 deps。如果您没有使用官方 PHP 图片,那么您需要用几个命令替换 docker-php-ext-enable redis
以将 redis.so
移动到您需要的位置并添加 extension=redis.so
行到您的 PHP 配置。
您可以在这里找到您的解决方案https://pkgs.alpinelinux.org/package/edge/community/x86_64/php7-redis