alpine 制作 PHP 环境镜像
最近在研究 gateway-worker 的使用,使用的 php 基础镜像是 debian,在安装 event 扩展时遇到 php7 configure: error: Cannot find OpenSSL's <evp.h>
问题搞了好久,安装 openssl,libssl-dev,都没有解决,于是尝试把 php 环境换了,使用 alpine 来搭建 php 环境试一下。
- 以下是对应 Dockerfile 文件
其中扩展是按照以前的环境扩展安装的,可以到 pkgs.alpinelinux.org/packages 查找相关扩展,比如查找 event 扩展,搜索from alpine:latest label author="xxx@163.com" RUN set -x \ && sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \ && apk update \ && apk add --no-cache tzdata vim openssl openssh openssl-dev bash curl libevent \ && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && apk del tzdata RUN set -x \ && apk update \ && apk add --no-cache php7 \ php7-ctype php7-curl php7-json php7-fileinfo php7-iconv \ php7-mbstring php7-openssl php7-pcntl php7-pdo php7-pdo_mysql \ php7-posix php7-session php7-pecl-event CMD ["/bin/bash"]
php7*event*
。
这里有个问题是安装的是 php7.3版本的,有时我们的 php 版本不能随便变,就要安装其他版本的 php。 - 安装其他版本的 php
在 alpine 镜像中wget -O /etc/apk/keys/phpearth.rsa.pub https://repos.php.earth/alpine/phpearth.rsa.pub
echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories
apk update
更新索引apk search php7.1
搜索相关 php 版本软件信息
这个方法也只能安装 php7.X 版本的而已,参考 docs.php.earth/docker/alpine/
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: