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

posted @ 2024-09-14 15:23  枫叶寒月  阅读(208)  评论(0)    收藏  举报