使用 dnmp 构建 php 5.6 开发环境

使用 dnmp 构建 php 5.6 开发环境

本文编写时间:2023-05-13
本文主要根据官网的文档进行装机调试,然后加入 php 5.6,因为原来的 dnmp 虽有但是各种插件没有,不方便。

但是,我只会用 centos 7 镜像构建 php5.6,所以本文提供的只是这种方案,但确实可用,已测试通过。

电脑环境。

我自己的电脑是 windows 10,然后已经安装了 docker desktop,已经安装了 wsl 2,然后 docker desktop 设置了 use the wsl 2 based engine。

安装步骤

进入 wsl 2 的 shell
安装好dnmp,这里步骤略,可以参考我的其他文章。

切换 php 版本到 5.6

1、添加目录

1-1、给 logs 下面加目录 phpd56
1-2、给 services 下面加目录 phpd56,同时把 php56 的目录下的内容拷贝到 phpd56

2、给 services/phpd56 加文件 Dockerfile

FROM centos:7.9.2009

ENV TZ Asia/Shanghai

WORKDIR /www

RUN curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo \
    && yum makecache \
    && yum repolist \
    && yum install -y https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm \
    && sed -i  's/https*:\/\/rpms.remirepo.net/https:\/\/mirrors.aliyun.com\/remi/g'  /etc/yum.repos.d/remi* \
    && sed -i 's/#baseurl/baseurl/g' /etc/yum.repos.d/remi* \
    && sed -i 's|^mirrorlist|#mirrorlist|' /etc/yum.repos.d/remi* \
    && yum makecache \
    && yum repolist \
    && yum -y install yum-utils \
    && yum-config-manager --enable remi-php56 \
    && yum install -y php56 php56-php-devel  php56-php-fpm  php56-php-mbstring php56-php-memcache php56-php-memcached php56-php-redis  php56-php-mysqlnd  php56-php-pdo  php56-php-bcmath php56-php-xml php56-php-gd php56-php-gmp php56-php-igbinary php56-php-imagick   php56-php-mcrypt  php56-php-pdo_mysql php56-php-posix php56-php-simplexml  php56-php-opcache php56-php-xsl php56-php-xmlwriter php56-php-xmlreader php56-php-swoole php56-php-zip php56-php-phalcon  php56-php-yaml php56-php-yar php56-php-yaf php56-php-uuid  \
    && systemctl enable php56-php-fpm \ 
    && groupadd www-data \
    && useradd -g www-data www-data


RUN ln -s /usr/bin/php56 /usr/bin/php

CMD "/usr/sbin/init"

3、修改 nginx 配置

services - nginx - conf.d - localhost.conf
自己找到相应的地方,自己修改内容

charset utf-8; 

location ~ [^/]\.php(/|$) {
        fastcgi_pass   phpd56:9000;
        include        fastcgi-php.conf;
        include        fastcgi_params;
}

4、修改 php 配置

services - phpd56 - php-fpm.conf

自己找到相应位置
listen = 0.0.0.0:9000

5、修改 docker-compose.yml

5-1、需添加一个 phpd56 服务
  phpd56:
    build:
      context: ./services/phpd56
      args:
        TZ: "$TZ"
    container_name: phpd56
    expose:
      - 9557
    volumes:
      - ${SOURCE_DIR}:/www/:rw
      - ${PHPD56_PHP_CONF_FILE}:/opt/remi/php56/root/etc/php.ini:ro
      - ${PHPD56_FPM_CONF_FILE}:/opt/remi/php56/root/etc/php-fpm.conf:rw
      - ${PHPD56_LOG_DIR}:/var/log/php
      - ${DATA_DIR}/composer:/tmp/composer
    restart: always
    cap_add:
      - ALL
    command: ["/opt/remi/php56/root/usr/sbin/php-fpm", "--nodaemonize",  "--allow-to-run-as-root" ]  
    networks:
      - default

6、修改 .env

6-1、添加 phpd56的配置。
#
# PHPD56
#
PHPD56_VERSION=5.6.40
PHPD56_PHP_CONF_FILE=./services/phpd56/php.ini
PHPD56_FPM_CONF_FILE=./services/phpd56/php-fpm.conf
PHPD56_LOG_DIR=./logs/phpd56

7、构建镜像,启动。

在 dnmp 目录下,Ubuntu 的 shell 里

docker-compose down
docker-compose build phpd56
docker-compose up -d
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
49
粉丝
7
喜欢
60
收藏
94
排名:592
访问:1.3 万
私信
所有博文
社区赞助商