Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk memasang projek php dengan docker

Bagaimana untuk memasang projek php dengan docker

藏色散人
Lepaskan: 2023-03-14 14:58:01
asal
4603 orang telah melayarinya

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.

Bagaimana untuk memasang projek php dengan docker

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

  • Persediaan awal
  • Fail penyusunan
  • Kesan pengendalian
  • Memasang sambungan
  • Bahan rujukan

Artikel ini berdasarkan 5.6-fpm-alpine3.8 dan ngingx untuk membina persekitaran pembangunan PHP di bawah Mac.

Persediaan awal

Mula-mula muat turun fail imej yang diperlukan

$ docker pull php:5.6-fpm-alpine3.8
$ docker pull nginx
$ docker pull mysql
Salin selepas log masuk

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
Salin selepas log masuk

Buat fail index.php baharu dalam direktori www yang baru dibuat untuk menyemak sama ada persekitaran php berjaya dibina.

<?php
  phpinfo();
?>
Salin selepas log masuk

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;
	}
}
Salin selepas log masuk

Fail Susunan

Buat docker-compose.ymlfail 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:
Salin selepas log masuk

Pada ketika ini, kami telah menyelesaikan semua persiapan dan boleh mula menyemak keputusan dengan segera.

Kesan Operasi

$ docker-compose up -d
Creating network "lnmp_php-network" with the default driver
Creating lnmp_nginx_1 ... done
Creating lnmp_php_1   ... done
Salin selepas log masuk

Anda akan melihat antara muka phpinfo biasa serta-merta.

Pasang sambungan

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
Salin selepas log masuk

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-enableDayakan sambungan PHP untuk menyelamatkan kami proses penyuntingan manual php.ini
  • docker-php-ext-installPasang 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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan