千家信息网

docker如何安装php项目

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,小编给大家分享一下docker如何安装php项目,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!docker安装php项目的
千家信息网最后更新 2025年02月05日docker如何安装php项目

小编给大家分享一下docker如何安装php项目,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

docker安装php项目的方法:1、下载所需要的镜像文件;2、在nginx/conf目录下准备nginx的配置文件php.conf;3、创建docker-compose.yml编排文件;4、安装扩展即可。

本文操作环境:macOS10.15系统,PHP5.6版,macbook pro 2020电脑。

使用Docker快速搭建PHP开发环境

最近有个同事找过来,希望我对在很早之前写的一个PHP网站上增加一些功能,当时开发使用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 环境是否搭建成功。

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-networknetworks:     lnmp-network:

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

运行效果

$ docker-compose up -dCreating network "lnmp_php-network" with the default driverCreating lnmp_nginx_1 ... doneCreating 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搭配,在需要自定义扩展的配置时使用

以上是"docker如何安装php项目"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0