Docker dnmp 多版本php安装 php8.2

Laravel9 开发需要用到php8.1以上的版本,而dnmp只支持到php8.0。安装php8.2的步骤如下:

  1. 从/services/php80目录复制一份出来,重命名为php82,extensions目录只保留 install.shinstall-php-extensions 这两个文件
  1. 修改.env文件,添加php82的配置参数:
复制代码
#

# PHP82

#

# Available PHP_EXTENSIONS:

#

# pdo_mysql,zip,pcntl,mysqli,mbstring,exif,bcmath,calendar,

# sockets,gettext,shmop,sysvmsg,sysvsem,sysvshm,pdo_rebird,

# pdo_dblib,pdo_oci,pdo_odbc,pdo_pgsql,pgsql,oci8,odbc,dba,

# gd,intl,bz2,soap,xsl,xmlrpc,wddx,curl,readline,snmp,pspell,

# recode,tidy,gmp,imap,ldap,imagick,sqlsrv,mcrypt,opcache,

# redis,memcached,xdebug,swoole,pdo_sqlsrv,sodium,yaf,mysql,

# amqp,mongodb,event,rar,ast,yac,yar,yaconf,msgpack,igbinary,

# seaslog,varnish,xhprof,xlswriter,memcache,rdkafka,zookeeper,

# psr,phalcon,sdebug,ssh2,yaml,protobuf,hprose

#

# You can let it empty to avoid installing any extensions,

# or install multi plugins as:

# PHP_EXTENSIONS=pdo_mysql,mysqli,gd,curl,opcache

PHP82_VERSION=8.2.6

PHP82_PHP_CONF_FILE=./services/php82/php.ini

PHP82_FPM_CONF_FILE=./services/php82/php-fpm.conf

PHP82_LOG_DIR=./logs/php82
# 扩展,根据实际情况增减
PHP82_EXTENSIONS=pdo_mysql,mysqli,mbstring,gd,curl,opcache,redis,mongodb,bcmath,soap
  1. docker-compose.yml 文件 新增 php82 配置参数
复制代码
  php82:
    build:
      context: ./services/php82
      args:
        PHP_VERSION: php:${PHP82_VERSION}-fpm-alpine
        CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL}
        PHP_EXTENSIONS: ${PHP82_EXTENSIONS}
        TZ: "$TZ"
    container_name: php82
    expose:
      - 9501
    volumes:
      - ${SOURCE_DIR}:/www/:rw
      - ${PHP82_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro
      - ${PHP82_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw
      - ${PHP82_LOG_DIR}:/var/log/php
      - ${DATA_DIR}/composer:/tmp/composer
    restart: always
    cap_add:
      - SYS_PTRACE
    networks:
      - default
  1. 执行 docker-compose up 命令
相关推荐
大G哥4 分钟前
记一次K8S 环境应用nginx stable-alpine 解析内部域名失败排查思路
运维·nginx·云原生·容器·kubernetes
妍妍的宝贝19 分钟前
k8s 中微服务之 MetailLB 搭配 ingress-nginx 实现七层负载
nginx·微服务·kubernetes
叶北辰CHINA3 小时前
nginx反向代理,负载均衡,HTTP配置简述(说人话)
linux·运维·nginx·http·云原生·https·负载均衡
Lansonli5 小时前
云原生(四十八) | Nginx软件安装部署
nginx·云原生·ecs服务器
加油,旭杏11 小时前
【中间件学习】fastCG介绍和使用
学习·nginx·fastcgi
苹果醋314 小时前
大模型实战--FastChat一行代码实现部署和各个组件详解
java·运维·spring boot·mysql·nginx
tanxiaomi1 天前
vue 不是spa 单页面应用吗? 配置路由工作模式为history 后 ,为什么配置Nginx的 try_files 可以根据url 找到对应的文件?
前端·vue.js·nginx
twins35201 天前
配置Nginx以支持通过HTTPS回源到CDN
网络·nginx·https
astuv1 天前
在树莓派上部署开源监控系统 ZoneMinder
linux·nginx·树莓派·监控·摄像头·zoneminder·apache2
加油,旭杏1 天前
【中间件学习】Nginx快速入门(为了配置一个项目)
学习·nginx·中间件