Heim > Artikel > Backend-Entwicklung > Beispieleinführung: Verwenden Sie Docker, um schnell eine PHP-Entwicklungsumgebung mit mehreren Versionen zu erstellen
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.
Empfohlenes Lernen: „PHP-Video-Tutorial“
Im Artikel verwendete Software:
Mac: 11.4 (macOS Big Sur), Prozessor: Intel Core.
docker: 3.3.3
Supports PHP 5.6.x Umgebung
Supports php 7.2 Schritt: Installieren Sie es einfach in einem Schritt.
Agenteneinstellungen
"registry-mirrors" : [ "http://registry.docker-cn.com", "http://hub-mirror.c.163.com" ],KonfigurationsumgebungPHP 7.2.x, belegt den lokalen Port 8081
?? Servereingabe: http://127.0.0.1:8081/; 6 -x.zip und dekomprimieren Sie es;
Im Chrome App Store herunterladen, nach Simple Proxy suchen.
Gleiche wie oben.
Bemerkungendocker-compose-bezogene Befehle
docker-compose up Erstellen Sie Containerparameter [-d] zur Ausführung im Hintergrunddocker-compose start Aktivieren Sie den Container
├── 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.
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.
Wenn 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.
Diese Dateien werden online generiert unter: https://phpdocker.io/generator[3]
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!