Comment installer un projet php avec docker

藏色散人
Libérer: 2023-03-14 14:58:01
original
4445 Les gens l'ont consulté

Comment installer le projet php avec docker : 1. Téléchargez le fichier image requis ; 2. Préparez le fichier de configuration nginx php.conf dans le répertoire nginx/conf ; 3. Créez le fichier d'orchestration docker-compose.yml ; l’extension C’est tout.

Comment installer un projet php avec docker

L'environnement d'exploitation de cet article : système macOS10.15, version PHP5.6, ordinateur macbook pro 2020.

Comment installer un projet php avec docker ?

Utilisez Docker pour créer rapidement un environnement de développement PHP

Récemment, un collègue est venu me voir et m'a demandé d'ajouter quelques fonctions à un site Web PHP que j'avais écrit il y a longtemps, le développement était construit en utilisant <. code>xampp environnement de développement local, mais maintenant mon ordinateur portable a été mis à jour et ne dispose pas de l'environnement de développement à ce moment-là. Conformément au principe de ne pas installer de logiciels inutiles sur l'ordinateur, j'ai réfléchi à la possibilité d'utiliser Docker pour créer un environnement de développement local. Par conséquent, cet article présente comment créer rapidement un environnement de développementPHPlocal. basé sur Docker pour les étudiants dans le besoin.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
Copier après la connexion

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

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

$ mkdir lnmp $ cd lnmp $ mkdir -p nginx/www nginx/logs nginx/conf
Copier après la connexion

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

Copier après la connexion

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; } }
Copier après la connexion

编排文件

在工作目录下创建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:
Copier après la connexion

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

运行效果

$ docker-compose up -d Creating network "lnmp_php-network" with the default driver Creating lnmp_nginx_1 ... done Creating lnmp_php_1 ... done
Copier après la connexion

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

安装扩展

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

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

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

$ docker-php-ext-install mysql
Copier après la connexion

扩展安装好之后就可以在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

    Répertoire

    • Préparation préliminaire
  • Fichiers d'arrangement

  • Effet d'exécution
  • Installation d'extensions
  • Matériaux de référence Cet article est basé sur5.6-fpm-alpine3.8etngingxpour construire un environnement de développement PHP sous Mac.

    Préparation préliminaire

    Téléchargez d'abord le fichier image requisrrreeeLes utilisateurs doivent se rendre sur hub.docker.com, rechercher PHP et trouver la version qu'ils souhaitent installer via des balises. Comme mon projet est développé depuis longtemps, il ne peut pas prendre en charge la dernière version de PHP, j'ai donc installé la version 5.6. Nous devons préparer un répertoire de travail, tel quelnmp, et préparer le répertoire racine du site Web, le répertoire du fichier de configuration Nginx et le répertoire des journaux Nginx dans le répertoire de travail. rrreeeCréez un nouveau fichier index.php dans le répertoire www nouvellement créé pour vérifier si l'environnement php est configuré avec succès. rrreee Préparez le fichier de configuration php.conf denginxdans le répertoirenginx/conf. rrreee

    Fichier d'arrangement

    Créez le fichier d'orchestrationdocker-compose.ymldans le répertoire de travail. Pour une introduction détaillée àdocker-compose, veuillez vous référer à mon article précédent Introduction à l'utilisation de Docker-compose. rrreeeÀ ce stade, nous avons terminé tous les préparatifs et pouvons commencer à visualiser les résultats immédiatement.

    Running Effect

    rrreeeVous verrez immédiatement l'interface familièrephpinfo.

    Installer des extensions

    L'imagephppar défaut fournit relativement peu d'extensions, manquant d'extensions couramment utilisées telles quemysql, gd2, etc., nous avons donc besoin pour le faire nous-mêmes Installez et activez l'extension. Entrez d'abord dans le conteneurphpet utilisez la commandephp -mpour vérifier quelles extensions sont disponibles localement. Vous pouvez utiliser la commandedocker-php-ext-installpour installer l'extension. rrreeeUne fois l'extension installée, elle peut être activée dansphp.ini. Nous pouvons voir surphpinfoque lephp.inipar défaut dans l'environnement du conteneur n'est pas activé. Vous pouvez le télécharger depuis/usr/local/etc/php<.> Ensuite, copiez php.ini-developmentdansphp.ini. Activez les extensions dont vous avez besoin en modifiant la configuration dansphp.ini. Vous trouverez ci-dessous plusieurs commandes d'installation d'extensions pour votre référence.
    • docker-php-ext-sourceCréez un répertoire/usr/src/phpdans le conteneur
    • docker-php -ext-enableActiver les extensions PHP, nous évitant ainsi le processus de modification manuelle duphp.ini
    • docker-php-ext-installInstaller et activer L'extension PHP
    • docker-php-ext-configureest souvent associée àdocker-php-ext-installet est utilisée lorsque vous devez personnaliser la configuration du extension Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!