alpine安装php7
在使用alpine 安装php7版本,我在网上看了许多博客,也踩了许多坑,我现在把我自己整理的都记录在这里。
首先,alpine是基于apk管理的,所以下载软件都可以通过apk安装
比如:apk add nginx
FROM alpine:latest
#安装php,nginx ,unzip
#sed 修改源为阿里源
RUN sed -i 's#dl-cdn.alpinelinux.org#mirrors.aliyun.com#g' /etc/apk/repositories && \
apk update && \
apk upgrade && \
apk add php7 php7-fpm php7-opcache && \
apk add php7-gd php7-mysqli php7-zlib php7-curl php7-json php7-mbstring php7-xml php7-session && \
apk add unzip && \
apk add nginx
# 创建工作目录
WORKDIR /code/phpshe/
# 分发PHPshe代码文件
COPY code/phpshe.zip .
# 解压phpshe.zip
RUN unzip phpshe.zip && \
rm -f phpshe.zip
#创建php pid目录
RUN mkdir /run/php/
#修改php配置文件
RUN sed -i 's#nobody#nginx#g' /etc/php7/php-fpm.d/www.conf
#分发php配置文件
COPY conf/config.php /code/phpshe/config.php
# 分发Nginx配置文件
COPY conf/php.conf /etc/nginx/http.d/php.conf
# 拷贝启动脚本
COPY scripts/start.sh /
# 设置可执行权限
RUN chmod +x /start.sh
# 容器运行时,需要运行的程序
CMD ["/bin/sh", "-x", "/start.sh"]
之后就是我在部署的时候,找php7的包,漏了一个,如何部署服务的时候就报错
[error] 10#10: *6 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to undefined function session_start() in /code/phpshe/common.php:51
最后通过查资料得出是我漏了php7-session 这个包,下载就OK了
如果有不懂的欢迎大家提问:qq:2805227506,希望大家一起努力学习,在专业技术的路上越走越远!
我查看部署php参考链接:https://www.onitroad.com/jc/linux/how-to-install-php-7-fpm-on-alpine-linux.html

浙公网安备 33010602011771号