>백엔드 개발 >PHP 튜토리얼 >소개 예시: Docker를 사용하여 다중 버전 PHP 개발 환경을 빠르게 구축

소개 예시: Docker를 사용하여 다중 버전 PHP 개발 환경을 빠르게 구축

WBOY
WBOY앞으로
2022-12-28 18:03:094493검색

이 글은 PHP에 대한 관련 지식을 제공합니다. 주로 docker를 사용하여 다중 버전 PHP 개발 환경을 빠르게 구축하는 방법에 대한 관련 내용을 소개하고 모두에게 도움이 되기를 바랍니다.

소개 예시: Docker를 사용하여 다중 버전 PHP 개발 환경을 빠르게 구축

추천 학습: "PHP Video Tutorial"

기사에 사용된 소프트웨어:

  • Mac: 11.4(macOS Big Sur), 프로세서: Intel Core.

  • Docker: 3.3.3

소개 예시: Docker를 사용하여 다중 버전 PHP 개발 환경을 빠르게 구축

Target

PHP 5.6.x 환경 지원

PHP 7.2.x 환경 지원

Download

Docker 소프트웨어 다운로드 및 설치 , 하나 step 한 단계로 설치하면 됩니다.

다운로드 주소: Docker 공식 홈페이지 https://www.docker.com/products/docker-desktop

에이전트 설정

"registry-mirrors" : [
    "http://registry.docker-cn.com",
    "http://hub-mirror.c.163.com"
  ],

소개 예시: Docker를 사용하여 다중 버전 PHP 개발 환경을 빠르게 구축

환경 구성

PHP 7.2.x, 로컬 포트 ​​8081 점유

  • docker를 시작하세요.

  • 압축된 패키지를 다운로드하세요: php7-2-x.zip

  • php7-2-x 디렉토리에 들어가서 docker-compose를 직접 실행하세요. 서버 입력: http://127.0.0.1:8081/;

PHP 5.6.x, 로컬 포트 ​​8082소개 예시: Docker를 사용하여 다중 버전 PHP 개발 환경을 빠르게 구축

압축 패키지 다운로드: php 5- 6 -x.zip 및 압축 해제

  • php5-6-x 디렉토리로 이동하여 docker-compose up을 직접 실행하세요.

  • 브라우저 입력: http://127.0.0.1:8082/;

  • 포트 매핑
  • local.php72.com -> 127.0.0.1:8081

    /etc/hosts 파일에서는 포트 매핑이 불가능하므로 다른 도구를 이용해야 합니다.
제가 사용하는 도구는 Chrome 브라우저 플러그인인 Simple Proxy입니다.

소개 예시: Docker를 사용하여 다중 버전 PHP 개발 환경을 빠르게 구축

다운로드 방법:

Chrome App Store에서 다운로드하고 Simple Proxy를 검색하세요.

로컬 확장 프로그램 로드, 다운로드 주소: chrome-simply-proxy[2]

    설치된 인터페이스 확인:
  • 성공적인 구성 후 http://local.php72.com/을 방문하세요.

local.php56.com -> 127.0.0.1:8082

소개 예시: Docker를 사용하여 다중 버전 PHP 개발 환경을 빠르게 구축

위와 같습니다.

Remarks

소개 예시: Docker를 사용하여 다중 버전 PHP 개발 환경을 빠르게 구축

docker-compose 관련 명령

docker-compose up 백그라운드에서 실행되도록 컨테이너 매개변수 [-d] 빌드

docker-compose start 컨테이너 활성화

    docker-compose stop 컨테이너 중지
  • docker-compose restart 컨테이너 다시 시작
  • docker-compose down 컨테이너 삭제
  • docker-compose ps 현재 컨테이너 상태 보기
  • php7-2-x 디렉토리 Introduction

    ├── docker-compose.yml
    ├── log
    │   └── nginx
    │       └── local.php72.com_access.log
    ├── phpdocker
    │   ├── README.html
    │   ├── README.md
    │   ├── nginx
    │   │   └── default.conf
    │   └── php-fpm
    │       ├── Dockerfile
    │       └── php-ini-overrides.ini
    └── web
        └── phpinfo
            └── index.php
  • 1 컨테이너 오케스트레이션을 위한 구성 파일인 docker-compose.yml은 변경할 필요가 없습니다.
  • version: "3.1"
    services:
        webserver:
          image: nginx:alpine
          container_name: php7-2-x-webserver
          working_dir: /application
          volumes:
              - .:/application
              - ./phpdocker/nginx:/etc/nginx/conf.d
          ports:
           - "8081:80"
        php-fpm:
          build: phpdocker/php-fpm
          container_name: php7-2-x-php-fpm
          working_dir: /application
          volumes:
            - .:/application
            - ./phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/7.2/fpm/conf.d/99-overrides.ini

    2.log/nginx는 xxx_access.log 및 xxx_php_errors.log를 포함한 로그 디렉터리이고, xxx는 구성된 가상 도메인 이름입니다.

  • 3. phpdocker/nginx는 default.conf에 구성된 가상 도메인 이름을 local.php72.com으로 설정합니다. 다른 디렉터리와 파일은 조정할 필요가 없습니다.
server {
    listen 80;
    server_name local.php72.com;
    client_max_body_size 108M;
    access_log /application/log/nginx/${server_name}_access.log;
    root /application/web/phpinfo;
    index index.php;
    # try to serve file directly, fallback to index.php
    location / {
        try_files $uri /index.php$is_args$args;
    }
    if (!-e $request_filename) {
        rewrite ^.*$ /index.php last;
    }
    location ~ \.php$ {
        fastcgi_pass php-fpm:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PHP_VALUE "error_log=/application/log/nginx/${server_name}_php_errors.log";
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        include fastcgi_params;
    }
    
}

4.web은 코드 웨어하우스 디렉터리입니다. 여기서 phpinfo는 도메인 이름 local.php72.com이 가리키는 코드 디렉터리입니다. 새 가상 도메인 이름(local.abc.com) 구성을 추가하려면 3단계만 수행하면 됩니다.

코드 폴더 abc를 웹 디렉터리에 배치하고

local 파일을 추가합니다. abc.com.conf, 구성 파일의 abc 디렉터리를 지정합니다.

    컨테이너 다시 시작 docker-compose restart
  • php5-6-x 디렉터리 소개

    위와 동일합니다.
  • zip 파일은 어떻게 생성되나요?

  • zip 파일은 어떻게 생성되나요? 다른 버전의 환경을 구축하려면 어떻게 해야 하나요?

    이 파일은 https://phpdocker.io/generator[3]

에서 온라인으로 생성됩니다. 지원되는 PHP 버전은 5.6.x, 7.0.x, 7.1.x, 7.2.x, 7.3.x입니다. , 7.4.x 등

MySQL, MariaDB, Elasticsearch 등도 지원합니다.

필요에 따라 선택한 후 프로젝트 아카이브 생성을 클릭하여 압축 패키지를 생성합니다.

위의 php5-6-x.zip과 php7-2-x.zip은 이런 식으로 생성되며, 로그 디렉토리, 웹 디렉토리 등을 구성하는 등 미세 조정만 하면 됩니다.

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 소개 예시: Docker를 사용하여 다중 버전 PHP 개발 환경을 빠르게 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 新亮笔记微信公众号에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제