Rumah >pembangunan bahagian belakang >tutorial php >Contoh pengenalan: Gunakan Docker untuk membina persekitaran pembangunan PHP berbilang versi dengan cepat
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.php4. 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;
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!