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.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Perisian yang digunakan dalam artikel:
Mac: 11.4 (macOS Big Sur), pemproses: Intel Core.
Docker: 3.3.3
Menyokong PHP 5.6.x Persekitaran
Menyokong Persekitaran PHP 7.2.x
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
"registry-mirrors" : [ "http://registry.docker-cn.com", "http://hub-mirror.c.163.com" ],
PHP 7.2.x, menduduki port tempatan 8081
Mulakan docker;
Muat turun pakej termampat: php7-2-x.zip dan nyahmampatkannya; >
Mulakan docker;
local.php72.com -> 127.0.0.1: 8081
Alat yang saya gunakan ialah pemalam penyemak imbas Chrome: Proksi Mudah.
Muat sambungan setempat, alamat muat turun: chrome-simply-proxy[2]
Selepas konfigurasi berjaya, lawati http://local.php72.com/
local.php56.com - > 127.0.0.1:8082
Sama seperti di atas.
Catatan
arahan berkaitan docker-compose
docker-compose up binaan parameter kontena [-d] akan dijalankan di latar belakangdocker-compose start Dayakan bekas
pengenalan direktori php7-2-x
1, fail konfigurasi untuk orkestrasi kontena, fail itu tidak perlu diubah.
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
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; } }
Bagaimana untuk menjana fail zip?
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!