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

Bagaimana untuk memasang projek php dengan docker

藏色散人
藏色散人asal
2021-12-21 10:27:494524semak imbas

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

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;
	}
}

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:

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

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

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!

Kenyataan:
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