Cet article vous apporte des connaissances pertinentes sur PHP. Il présente principalement le contenu pertinent sur la façon d'utiliser Docker pour créer rapidement un environnement de développement PHP multi-versions. Examinons-le ensemble et espérons qu'il sera utile à tout le monde.
Apprentissage recommandé : "Tutoriel vidéo PHP"
Logiciel utilisé dans l'article :
Mac : 11.4 (macOS Big Sur), processeur : Intel Core.
Docker : 3.3.3
Prend en charge l'environnement PHP 5.6.x
Prend en charge l'environnement PHP 7.2.x
Téléchargement et installation du logiciel Docker, sans trop d'explications , un étape Installez-le simplement en une seule étape.
Adresse de téléchargement : site officiel de Docker https://www.docker.com/products/docker-desktop
"registry-mirrors" : [ "http://registry.docker-cn.com", "http://hub-mirror.c.163.com" ],
PHP 7.2.x, occupant le port local 8081
Démarrez docker ;
Téléchargez le package compressé : php7-2-x.zip et décompressez-le
Entrez dans le répertoire php7-2-x et exécutez directement docker-compose up ; Entrée du serveur : http://127.0.0.1:8081/ ;
PHP 5.6.x, occupant le port local 8082
Démarrez Docker ; php5- 6 -x.zip et décompressez-le
Allez dans le répertoire php5-6-x et exécutez directement docker-compose up
Entrée du navigateur : http://127.0.0.1:8082/
L'outil que j'utilise est le plug-in du navigateur Chrome : Simple Proxy.
Méthode de téléchargement :Téléchargez depuis Chrome App Store, recherchez Simple Proxy.
Chargez l'extension locale, adresse de téléchargement : chrome-simply-proxy[2]
Regardez l'interface installée :
local.php56.com -> 127.0.0.1:8082
Identique à ci-dessus.Remarques
commandes associées à docker-compose
docker-compose up Créer les paramètres du conteneur [-d] à exécuter en arrière-plan
docker-compose start Activer le conteneur
docker-compose stop Arrêter le conteneur
docker-compose restart Redémarrer le conteneur
docker-compose down Supprimer le conteneur
docker-compose ps Afficher l'état actuel du conteneur
├── 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, le fichier de configuration pour l'orchestration des conteneurs, n'a pas besoin d'être modifié.
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
3. phpdocker/nginx configure le répertoire pour le nom de domaine virtuel. Le nom de domaine virtuel configuré dans default.conf est local.php72.com. Cependant, il n'est pas nécessaire de trop l'expliquer. . Les autres répertoires et fichiers n'ont pas besoin d'être ajustés. Si vous souhaitez ajouter une nouvelle configuration de nom de domaine virtuel (local.abc.com), vous n'avez besoin que de 3 étapes : Placez le dossier de code abc dans le répertoire Web Ajoutez le fichier local. abc.com.conf, pointez le répertoire code vers le répertoire abc dans le fichier de configuration ; Redémarrez le redémarrage du conteneur docker-compose introduction du répertoire php5-6-x Vous avez peut-être des questions, comment le fichier zip est-il généré ? Et si je souhaite créer une autre version de l'environnement ? Ces fichiers sont générés en ligne sur : https://phpdocker.io/generator[3] Les versions PHP prises en charge sont : 5.6.x, 7.0.x, 7.1.x, 7.2.x, 7.3.x , 7.4.x, etc. Prend également en charge MySQL, MariaDB, Elasticsearch, etc.
Après avoir sélectionné selon vos besoins, cliquez sur Générer une archive de projet pour générer le package compressé. Les php5-6-x.zip et php7-2-x.zip ci-dessus sont générés de cette manière, il suffit de les affiner, comme la configuration du répertoire des journaux, du répertoire Web, etc. Apprentissage recommandé : "Tutoriel vidéo PHP" Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!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;
}
}