Heim >Backend-Entwicklung >PHP-Tutorial >Beispieleinführung: Verwenden Sie Docker, um schnell eine PHP-Entwicklungsumgebung mit mehreren Versionen zu erstellen

Beispieleinführung: Verwenden Sie Docker, um schnell eine PHP-Entwicklungsumgebung mit mehreren Versionen zu erstellen

WBOY
WBOYnach vorne
2022-12-28 18:03:094491Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über PHP. Er stellt hauptsächlich relevante Inhalte zur Verwendung von Docker zum schnellen Aufbau einer PHP-Entwicklungsumgebung mit mehreren Versionen vor und hofft, dass er für alle hilfreich ist.

Beispieleinführung: Verwenden Sie Docker, um schnell eine PHP-Entwicklungsumgebung mit mehreren Versionen zu erstellen

Empfohlenes Lernen: „PHP-Video-Tutorial

Im Artikel verwendete Software:

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

  • docker: 3.3.3

Beispieleinführung: Verwenden Sie Docker, um schnell eine PHP-Entwicklungsumgebung mit mehreren Versionen zu erstellen

target

Supports PHP 5.6.x Umgebung

Supports php 7.2 Schritt: Installieren Sie es einfach in einem Schritt.

Download-Adresse: Offizielle Docker-Website https://www.docker.com/products/docker-desktop

Agenteneinstellungen

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

Konfigurationsumgebung

Beispieleinführung: Verwenden Sie Docker, um schnell eine PHP-Entwicklungsumgebung mit mehreren Versionen zu erstellen

PHP 7.2.x, belegt den lokalen Port 8081

?? Servereingabe: http://127.0.0.1:8081/; 6 -x.zip und dekomprimieren Sie es;

    Gehen Sie in das Verzeichnis php5-6-x und führen Sie docker-compose up direkt aus;
  • Portzuordnung
  • local.php72.com -> 127.0.0.1:8081

    Da die Portzuordnung nicht in der Datei /etc/hosts durchgeführt werden kann, müssen Sie andere Tools verwenden.
  • Das von mir verwendete Tool ist das Chrome-Browser-Plugin: Simple Proxy.

  • Download-Methode:

Beispieleinführung: Verwenden Sie Docker, um schnell eine PHP-Entwicklungsumgebung mit mehreren Versionen zu erstellen

Im Chrome App Store herunterladen, nach Simple Proxy suchen.

    Lokale Erweiterung laden, Download-Adresse: chrome-simply-proxy[2]
  • Sehen Sie sich die installierte Schnittstelle an:
  • Besuchen Sie nach erfolgreicher Konfiguration http://local.php72.com/

  • local.php56.com -> 127.0.0.1:8082

Gleiche wie oben. Beispieleinführung: Verwenden Sie Docker, um schnell eine PHP-Entwicklungsumgebung mit mehreren Versionen zu erstellen

Bemerkungen

docker-compose-bezogene Befehle

docker-compose up Erstellen Sie Containerparameter [-d] zur Ausführung im Hintergrund

docker-compose start Aktivieren Sie den Container
  • docker-compose stop Stoppt den Container.
  • docker-compose restart Starten Sie den Container neu Einführung
├── 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, die Konfigurationsdatei für die Container-Orchestrierung, muss nicht geändert werden.

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 ist das Protokollverzeichnis, einschließlich xxx_access.log und xxx_php_errors.log, xxx ist der konfigurierte virtuelle Domänenname. Beispieleinführung: Verwenden Sie Docker, um schnell eine PHP-Entwicklungsumgebung mit mehreren Versionen zu erstellen

3. phpdocker/nginx konfiguriert das Verzeichnis für den virtuellen Domänennamen „local.php72.com“. Es besteht jedoch keine Notwendigkeit, es auf einen Blick zu erklären . Andere Verzeichnisse und Dateien müssen nicht angepasst werden.

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 ist das Code-Warehouse-Verzeichnis, wobei phpinfo das Code-Verzeichnis ist, auf das der Domainname local.php72.com verweist.

Beispieleinführung: Verwenden Sie Docker, um schnell eine PHP-Entwicklungsumgebung mit mehreren Versionen zu erstellenWenn Sie eine neue virtuelle Domänennamenkonfiguration (local.abc.com) hinzufügen möchten, benötigen Sie nur 3 Schritte:

Platzieren Sie den Codeordner abc im Webverzeichnis;

Fügen Sie die Datei lokal hinzu. abc.com.conf, verweisen Sie auf das Verzeichnis abc in der Konfigurationsdatei.

Starten Sie den Container-Docker-Compose-Neustart.

  • Wie werden ZIP-Dateien generiert?

  • Sie haben möglicherweise Fragen, wie wird die ZIP-Datei generiert? Was ist, wenn ich eine andere Version der Umgebung erstellen möchte?
  • Diese Dateien werden online generiert unter: https://phpdocker.io/generator[3]

  • Unterstützte PHP-Versionen sind: 5.6.x, 7.0.x, 7.1.x, 7.2.x, 7.3.x , 7.4.x usw.
  • Unterstützt auch MySQL, MariaDB, Elasticsearch usw.

    Klicken Sie nach der Auswahl nach Bedarf auf Projektarchiv generieren, um das komprimierte Paket zu generieren.

    Die oben genannten php5-6-x.zip und php7-2-x.zip werden auf diese Weise generiert und müssen lediglich verfeinert werden, z. B. durch Konfigurieren des Protokollverzeichnisses, des Webverzeichnisses usw.

    Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonBeispieleinführung: Verwenden Sie Docker, um schnell eine PHP-Entwicklungsumgebung mit mehreren Versionen zu erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:新亮笔记微信公众号. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen