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扩展。 还有一些你需要做的依赖: autoconf
, git
, gcc/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。
- Alpine Linux 3.7上的Docker容器:奇怪的pid 1在容器的pid命名空间中不可见
- 你可以在一个Docker容器中以root身份启动一个进程,而exec调用的默认用户是非root?
- 不能在Alpine Linux上需要ruby gsl
- Docker Alpine / bin / sh没有find
- 高山linux 3.5和ruby 2.0的错误?
- 如何运行我所拉的“sudo docker pull ppc64le / alpine:edge”的docker图像,但运行此图像时出现错误
- 在alpine linux上运行npm install时出现奇怪的错误
- 我如何编译python的高山?
- Dockerfile在本地机器上编译,但在docker hub中自动生成失败