Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk memasang projek php dengan docker
Cara memasang projek php dengan docker: 1. Muat turun fail imej yang diperlukan 2. Sediakan fail konfigurasi nginx php.conf dalam direktori nginx/conf 3. Buat fail orkestrasi docker-compose.yml ; 4. Pasang sambungan.
Persekitaran pengendalian artikel ini: sistem macOS10.15, PHP versi 5.6, komputer macbook pro 2020.
Bagaimana untuk memasang projek php dengan docker?
Gunakan Docker untuk membina persekitaran pembangunan PHP dengan cepat
Seorang rakan sekerja datang kepada saya baru-baru ini dan berharap saya akan menambah sesuatu pada tapak web PHP yang saya tulis lama dahulu Function, persekitaran pembangunan tempatan yang dibina menggunakan xampp
dibangunkan pada masa itu, tetapi kini komputer riba saya telah dikemas kini dan tiada persekitaran pembangunan pada masa itu. Selaras dengan prinsip tidak memasang perisian yang tidak berguna pada komputer sebanyak mungkin, saya memikirkan sama ada saya boleh menggunakan Docker untuk membina persekitaran pembangunan tempatan Oleh itu, artikel ini memperkenalkan cara cepat membina persekitaran pembangunan PHP
tempatan pada Docker untuk rujukan oleh pelajar yang memerlukan.
Direktori
Artikel ini berdasarkan
5.6-fpm-alpine3.8
danngingx
untuk membina persekitaran pembangunan PHP di bawah Mac.
Mula-mula muat turun fail imej yang diperlukan
$ docker pull php:5.6-fpm-alpine3.8 $ docker pull nginx $ docker pull mysql
Pengguna perlu pergi ke hub.docker.com, cari PHP dan pass tags Cari versi yang anda ingin pasang Projek saya telah dibangunkan untuk masa yang lama dan tidak dapat menyokong PHP terkini, jadi saya memasang versi 5.6.
Kami perlu menyediakan direktori kerja, seperti lnmp
, dan menyediakan direktori akar tapak web, direktori fail konfigurasi Nginx dan direktori log Nginx di bawah direktori kerja.
$ mkdir lnmp $ cd lnmp $ mkdir -p nginx/www nginx/logs nginx/conf
Buat fail index.php baharu dalam direktori www yang baru dibuat untuk menyemak sama ada persekitaran php berjaya dibina.
<?php phpinfo(); ?>
Sediakan nginx/conf
fail konfigurasi php.conf dalam direktori nginx
.
server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name; include fastcgi_params; } }
Buat docker-compose.yml
fail penyusunan dalam direktori kerja.
Untuk pengenalan terperinci tentang
docker-compose
, sila rujuk artikel saya sebelum ini pengenalan penggunaan Docker-compose.
version: "2.1" services: nginx: image: nginx ports: - "80:80" volumes: - ~/Projects/sh-valley/docker-conf/lnmp/nginx/www:/usr/share/nginx/html - ~/Projects/sh-valley/docker-conf/lnmp/nginx/conf:/etc/nginx/conf.d - ~/Projects/sh-valley/docker-conf/lnmp/nginx/logs:/var/log/nginx networks: - lnmp-network php: image: php:5.6-fpm-alpine3.8 volumes: - ~/Projects/sh-valley/docker-conf/lnmp/nginx/www:/www networks: - lnmp-network mysql: image: mysql ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD=123456 networks: - lnmp-network networks: lnmp-network:
Pada ketika ini, kami telah menyelesaikan semua persiapan dan boleh mula menyemak keputusan dengan segera.
$ docker-compose up -d Creating network "lnmp_php-network" with the default driver Creating lnmp_nginx_1 ... done Creating lnmp_php_1 ... done
Anda akan melihat antara muka phpinfo
biasa serta-merta.
Cermin lalai php
menyediakan lebih sedikit sambungan, tiada sambungan yang biasa digunakan seperti mysql、gd2
, jadi kami perlu melakukannya sendiri Pasang dan dayakan sambungan.
Mula-mula masukkan bekas php
dan gunakan perintah php -m
untuk melihat sambungan yang tersedia secara setempat.
Sambungan boleh dipasang menggunakan perintah docker-php-ext-install
.
$ docker-php-ext-install mysql
Selepas sambungan dipasang, ia boleh didayakan dalam php.ini
. Kita boleh lihat daripada phpinfo
bahawa lalai php.ini
dalam persekitaran bekas tidak didayakan Anda boleh menyalin /usr/local/etc/php
ke php.ini-development
daripada php.ini
. Dayakan sambungan yang anda perlukan dengan mengubah suai konfigurasi dalam php.ini
. Di bawah adalah beberapa arahan pemasangan sambungan untuk rujukan anda.
docker-php-ext-source
Cipta direktori /usr/src/php
dalam bekas docker-php-ext-enable
Dayakan sambungan PHP untuk menyelamatkan kami proses penyuntingan manual php.ini
docker-php-ext-install
Pasang dan dayakan sambungan PHP docker-php-ext-configure
sering dipasangkan dengan docker-php-ext-install
dan digunakan apabila anda perlu menyesuaikan konfigurasi sambungan Pembelajaran yang disyorkan: "Tutorial Video PHP》
Atas ialah kandungan terperinci Bagaimana untuk memasang projek php dengan docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!