>백엔드 개발 >PHP 문제 >Docker를 사용하여 PHP 프로젝트를 설치하는 방법

Docker를 사용하여 PHP 프로젝트를 설치하는 방법

藏色散人
藏色散人원래의
2021-12-21 10:27:494580검색

Docker를 사용하여 PHP 프로젝트를 설치하는 방법: 1. 필요한 이미지 파일을 다운로드합니다. 2. nginx/conf 디렉터리에 nginx 구성 파일 php.conf를 준비합니다. 3. docker-compose.yml 오케스트레이션 파일을 생성합니다. 확장 프로그램 그게 다야.

Docker를 사용하여 PHP 프로젝트를 설치하는 방법

이 기사의 운영 환경: macOS10.15 시스템, PHP5.6 버전, macbook pro 2020 컴퓨터.

Docker로 PHP 프로젝트를 설치하는 방법은 무엇입니까?

Docker를 사용하여 PHP 개발 환경을 빠르게 구축하세요

최근에 동료가 찾아와서 오래 전에 작성한 PHP 웹 사이트에 몇 가지 기능을 추가해달라고 요청했습니다. code>xampp 로컬 개발 환경인데 지금 제 노트북은 업데이트가 되어서 그 당시에는 개발 환경이 없습니다. 컴퓨터에 쓸모없는 소프트웨어를 설치하지 않는다는 원칙에 맞춰 Docker를 사용하여 로컬 개발 환경을 구축할 수 있을지 고민했습니다. 그래서 이 글에서는 로컬 PHP 개발 환경을 빠르게 구축하는 방법을 소개합니다. 도움이 필요한 학생들을 위한 Docker 기반. 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

    디렉토리

    • 사전 준비
  • 파일 정리

  • 실행 효과
  • 확장 프로그램 설치
  • 참고 자료 🎜🎜 🎜이 글은 Mac에서 PHP 개발 환경을 구축하기 위해 5.6-fpm-alpine3.8ngingx를 기반으로 작성되었습니다. 🎜🎜

    사전 준비

    🎜먼저 필요한 이미지 파일을 다운로드하세요🎜rrreee🎜🎜사용자는 Hub.docker.com으로 이동하여 PHP를 검색하고 설치하려는 버전을 찾아야 합니다. 제가 개발한 프로젝트는 오래전부터 최신 PHP를 지원하지 못하여 5.6 버전을 설치하였습니다. 🎜🎜🎜lnmp 등의 작업 디렉터리를 준비하고, 작업 디렉터리에 웹사이트 루트 디렉터리, Nginx 구성 파일 디렉터리, Nginx 로그 디렉터리를 준비해야 합니다. 🎜rrreee🎜새로 생성된 www 디렉터리에 index.php 파일을 새로 생성하여 php 환경이 성공적으로 설정되었는지 확인해보세요. 🎜rrreee🎜 nginx/conf 디렉터리에 nginx의 구성 파일 php.conf를 준비합니다. 🎜rrreee

    정렬 파일

    🎜작업 디렉터리에 docker-compose.yml 오케스트레이션 파일을 생성합니다. 🎜🎜🎜docker-compose에 대한 자세한 소개는 이전 기사 Docker-compose 사용법 소개를 참조하세요. 🎜🎜rrreee🎜이 시점에서 모든 준비가 완료되었으며 즉시 결과를 볼 수 있습니다. 🎜

    Running Effect

    rrreee🎜익숙한 phpinfo 인터페이스가 즉시 표시됩니다. 🎜🎜🎜

    확장 설치

    🎜기본 php 이미지는 mysql, gd2 등과 같이 일반적으로 사용되는 확장이 부족하여 상대적으로 적은 확장을 제공하므로 다음이 필요합니다. 직접 수행하려면 확장 프로그램을 설치하고 활성화하세요. 🎜🎜먼저 php 컨테이너를 입력하고 php -m 명령을 사용하여 로컬에서 사용할 수 있는 확장 프로그램을 확인하세요. 🎜🎜 docker-php-ext-install 명령을 사용하여 확장 프로그램을 설치할 수 있습니다. 🎜rrreee🎜확장 프로그램을 설치한 후 php.ini에서 활성화할 수 있습니다. phpinfo에서 컨테이너 환경의 기본 php.ini가 활성화되어 있지 않음을 확인할 수 있습니다. /usr/local/etc/php 다음으로, <code>php.ini-developmentphp.ini에 복사하세요. php.ini의 구성을 수정하여 필요한 확장 기능을 활성화하세요. 다음은 참조할 수 있는 몇 가지 확장 설치 명령입니다. 🎜
    • docker-php-ext-source 컨테이너에 /usr/src/php 디렉터리를 만듭니다🎜
    • docker-php -ext-enablePHP 확장을 활성화하면 php.ini🎜
    • docker-php-ext-install설치 및 활성화를 수동으로 편집하는 과정이 줄어듭니다. PHP 확장🎜
    • docker-php-ext-configure는 종종 docker-php-ext-install과 쌍을 이루며 구성을 사용자 정의해야 할 때 사용됩니다. Extension🎜🎜🎜 추천 학습: "🎜PHP 비디오 튜토리얼🎜"🎜

위 내용은 Docker를 사용하여 PHP 프로젝트를 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.