Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Contoh pengenalan: Gunakan Docker untuk membina persekitaran pembangunan PHP berbilang versi dengan cepat

Contoh pengenalan: Gunakan Docker untuk membina persekitaran pembangunan PHP berbilang versi dengan cepat

WBOY
WBOYke hadapan
2022-12-28 18:03:094361semak imbas

Artikel ini membawa anda pengetahuan yang berkaitan tentang PHP terutamanya kandungan yang berkaitan tentang cara menggunakan docker untuk membina persekitaran pembangunan PHP berbilang versi dengan cepat. Mari kita lihat bersama-sama dan harapkan akan membantu semua orang.

Contoh pengenalan: Gunakan Docker untuk membina persekitaran pembangunan PHP berbilang versi dengan cepat

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Perisian yang digunakan dalam artikel:

  • Mac: 11.4 (macOS Big Sur), pemproses: Intel Core.

  • Docker: 3.3.3

Contoh pengenalan: Gunakan Docker untuk membina persekitaran pembangunan PHP berbilang versi dengan cepat

Sasaran

Menyokong PHP 5.6.x Persekitaran

Menyokong Persekitaran PHP 7.2.x

Muat turun

Muat turun dan pemasangan perisian Docker, tanpa terlalu banyak penjelasan, cuma pasangnya langkah demi langkah.

Alamat muat turun: tapak web rasmi Docker https://www.docker.com/products/docker-desktop

Tetapan proksi

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

Contoh pengenalan: Gunakan Docker untuk membina persekitaran pembangunan PHP berbilang versi dengan cepat

Konfigurasikan persekitaran

PHP 7.2.x, menduduki port tempatan 8081

  • Mulakan docker;

  • Muat turun pakej termampat: php7-2-x.zip dan nyahmampatkannya; >

  • Input penyemak imbas: http://127.0.0.1:8081/;

PHP 5.6 .x, menduduki port tempatan 8082

Contoh pengenalan: Gunakan Docker untuk membina persekitaran pembangunan PHP berbilang versi dengan cepat

Mulakan docker;

  • Muat turun pakej termampat: php5-6-x.zip dan teruskan Unzip;

  • Pergi ke direktori php5-6-x dan jalankan docker-compose secara langsung; /127.0.0.1:8082/;

  • Pemetaan port
  • local.php72.com -> 127.0.0.1: 8081

  • Oleh kerana pemetaan port tidak boleh dilakukan dalam fail /etc/hosts, alatan lain diperlukan.

Alat yang saya gunakan ialah pemalam penyemak imbas Chrome: Proksi Mudah. Contoh pengenalan: Gunakan Docker untuk membina persekitaran pembangunan PHP berbilang versi dengan cepat

Kaedah muat turun:

Muat turun dari Chrome App Store, cari Proksi Mudah.

Muat sambungan setempat, alamat muat turun: chrome-simply-proxy[2]

  • Lihat antara muka pemasangan:

  • Selepas konfigurasi berjaya, lawati http://local.php72.com/

local.php56.com - > 127.0.0.1:8082Contoh pengenalan: Gunakan Docker untuk membina persekitaran pembangunan PHP berbilang versi dengan cepat

Sama seperti di atas.

CatatanContoh pengenalan: Gunakan Docker untuk membina persekitaran pembangunan PHP berbilang versi dengan cepat

arahan berkaitan docker-compose

docker-compose up binaan parameter kontena [-d] akan dijalankan di latar belakang

docker-compose start Dayakan bekas

  • docker-compose stop Stop container

  • docker- compose mulakan semula Mulakan semula bekas

  • docker-compose down Padamkan bekas

  • docker-compose ps Lihat status bekas semasa

  • pengenalan direktori php7-2-x

  • 1, fail konfigurasi untuk orkestrasi kontena, fail itu tidak perlu diubah.

2. log/nginx ialah direktori log, termasuk xxx_access.log dan xxx_php_errors.log, xxx ialah nama domain maya yang dikonfigurasikan.

3. phpdocker/nginx mengkonfigurasi direktori untuk nama domain maya yang dikonfigurasikan dalam default.conf ialah local.php72.com ia sekali imbas Direktori dan fail lain tidak perlu dilaraskan.

├── 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
4. Web ialah direktori gudang kod, di mana phpinfo ialah direktori kod yang ditunjukkan oleh nama domain local.php72.com.

Jika anda ingin menambah konfigurasi nama domain maya baharu (local.abc.com), anda hanya memerlukan 3 langkah:
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

Letakkan folder kod abc dalam direktori web ;

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;
    }
    
}

Tambahkan fail local.abc.com.conf dan halakan direktori kod ke direktori abc dalam fail konfigurasi; >Mulakan semula kontena docker-compose restart;

  • pengenalan direktori php5-6-x

    Sama seperti di atas.
  • Bagaimana untuk menjana fail zip?

  • Anda mungkin mempunyai soalan, bagaimanakah fail zip dijana Bagaimana jika saya ingin membina versi persekitaran yang lain?

    Fail ini dijana dalam talian di: https://phpdocker.io/generator[3]

Versi PHP yang disokong ialah: 5.6 x, 7.0 .x, 7.1.x, 7.2.x, 7.3.x, 7.4.x, dsb.

Ia juga menyokong MySQL, MariaDB, Elasticsearch, dll.

Selepas memilih mengikut keperluan, klik Jana arkib projek untuk menjana pakej termampat.

php5-6-x.zip dan php7-2-x.zip di atas dijana dengan cara ini, hanya memperhalusinya, seperti mengkonfigurasi direktori log, direktori web, dsb.

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Contoh pengenalan: Gunakan Docker untuk membina persekitaran pembangunan PHP berbilang versi dengan cepat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:新亮笔记微信公众号. Jika ada pelanggaran, sila hubungi admin@php.cn Padam