Heim  >  Artikel  >  Backend-Entwicklung  >  So installieren Sie ein PHP-Projekt mit Docker

So installieren Sie ein PHP-Projekt mit Docker

藏色散人
藏色散人Original
2021-12-21 10:27:494544Durchsuche

So installieren Sie ein PHP-Projekt mit Docker: 1. Laden Sie die erforderliche Image-Datei herunter. 2. Bereiten Sie die Nginx-Konfigurationsdatei php.conf im Verzeichnis nginx/conf vor. 4. Installieren Sie die Erweiterung Das ist es.

So installieren Sie ein PHP-Projekt mit Docker

Die Betriebsumgebung dieses Artikels: macOS10.15-System, PHP5.6-Version, MacBook Pro 2020-Computer.

Wie installiere ich ein PHP-Projekt mit Docker?

Verwenden Sie Docker, um schnell eine PHP-Entwicklungsumgebung zu erstellen

Kürzlich kam ein Kollege zu mir und bat mich, einige Funktionen zu einer PHP-Website hinzuzufügen, die ich vor langer Zeit geschrieben hatte. Die Entwicklung wurde mit xampp lokale Entwicklungsumgebung, aber jetzt wurde mein Laptop aktualisiert und verfügt zu diesem Zeitpunkt nicht über die Entwicklungsumgebung. Im Einklang mit dem Grundsatz, keine nutzlose Software auf dem Computer zu installieren, habe ich darüber nachgedacht, ob ich Docker zum Erstellen einer lokalen Entwicklungsumgebung verwenden kann. Daher stellt dieser Artikel vor, wie man schnell eine lokale PHP-Entwicklungsumgebung erstellt basierend auf Docker für bedürftige Studenten. xampp构建的本地开发环境,但是现在我的笔记本电脑已经更新,没有当时的开发环境。本着尽量不往电脑上装无用软件的原则,想到能不能用Docker来构建本地开发环境,因此本文介绍了如何基于Docker来快速构建本地PHP开发环境,供有需要的同学参考使用。

目录

  • 前期准备
  • 编排文件
  • 运行效果
  • 安装扩展
  • 参考资料

本文基于 5.6-fpm-alpine3.8 以及 ngingx 搭建Mac 下的PHP开发环境。

前期准备

首先下载所需要的镜像文件

$ docker pull php:5.6-fpm-alpine3.8
$ docker pull nginx
$ docker pull mysql

用户需要到hub.docker.com,搜索PHP并通过tags找到自己希望安装的版本,我的项目因为开发时间比较久了,不能够支持最新的PHP,所以安装的是5.6版本。

我们需要准备一个工作目录,例如lnmp,在工作目录下准备网站根目录、Nginx配置文件目录、Nginx日志目录。

$ mkdir lnmp
$ cd lnmp
$ mkdir -p nginx/www nginx/logs nginx/conf

在新建的 www 目录中新建 index.php 文件,用来检测 php 环境是否搭建成功。

<?php
  phpinfo();
?>

nginx/conf目录下准备nginx的配置文件php.conf。

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

编排文件

在工作目录下创建docker-compose.yml编排文件。

关于docker-compose的详细介绍可以参考我之前的文章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:

至此,我们完成了所有的准备工作,马上可以启动查看效果。

运行效果

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

马上就能看到熟悉的phpinfo界面了。

安装扩展

默认php镜像中提供的扩展比较少,缺少诸如mysql、gd2等常用的扩展,这样我们就需要自己安装并启用扩展。

首先进入到php容器,用php -m命令查看本地有什么扩展。

可以使用docker-php-ext-install命令来安装扩展。

$ docker-php-ext-install mysql

扩展安装好之后就可以在php.ini中启用。我们从phpinfo中可以看到,容器环境下默认的php.ini没有启用,可以从/usr/local/etc/php下将php.ini-development拷贝为php.ini。通过修改php.ini中配置,启用自己需要的扩展。下面是几个扩展安装的命令,供大家参考。

  • docker-php-ext-source 在容器中创建一个/usr/src/php目录
  • docker-php-ext-enable启用PHP扩展,省去我们手工编辑php.ini的过程
  • docker-php-ext-install安装并启用PHP扩展
  • docker-php-ext-configure经常与docker-php-ext-install

    Verzeichnis

    • Vorbereitende Vorbereitung
  • Anordnungsdateien

  • Laufeffekt
  • Erweiterungen installieren
  • Referenzmaterialien 🎜🎜 🎜Dieser Artikel basiert auf 5.6-fpm-alpine3.8 und ngingx zum Aufbau einer PHP-Entwicklungsumgebung unter Mac. 🎜🎜

    Vorläufige Vorbereitung

    🎜Laden Sie zunächst die erforderliche Bilddatei herunter🎜rrreee🎜🎜Benutzer müssen zu hub.docker.com gehen, nach PHP suchen und die Version finden, die sie installieren möchten durch Tags Da mein Projekt schon lange entwickelt wurde, kann es das neueste PHP nicht unterstützen, daher habe ich Version 5.6 installiert. 🎜🎜🎜Wir müssen ein Arbeitsverzeichnis wie lnmp vorbereiten und das Website-Stammverzeichnis, das Nginx-Konfigurationsdateiverzeichnis und das Nginx-Protokollverzeichnis im Arbeitsverzeichnis vorbereiten. 🎜rrreee🎜Erstellen Sie eine neue index.php-Datei im neu erstellten www-Verzeichnis, um zu überprüfen, ob die PHP-Umgebung erfolgreich eingerichtet wurde. 🎜rrreee🎜 Bereiten Sie die Konfigurationsdatei php.conf von nginx im Verzeichnis nginx/conf vor. 🎜rrreee

    Arrangement file

    🎜Erstellen Sie die Orchestrierungsdatei docker-compose.yml im Arbeitsverzeichnis. 🎜🎜🎜Eine ausführliche Einführung in docker-compose finden Sie in meinem vorherigen Artikel Einführung in die Verwendung von Docker-compose. 🎜🎜rrreee🎜Zu diesem Zeitpunkt haben wir alle Vorbereitungen abgeschlossen und können sofort mit der Betrachtung der Ergebnisse beginnen. 🎜

    Running Effect

    rrreee🎜Sie sehen sofort die bekannte phpinfo-Oberfläche. 🎜🎜🎜

Das obige ist der detaillierte Inhalt vonSo installieren Sie ein PHP-Projekt mit Docker. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn