最近在mac上搭建集成环境的时候,先是用phpstudy,下载后发现缺少很多依赖,如果要去安装依赖还需要编译。还去试了几个集成环境,容易出现版本问题等等。dnmp解决了这些问题
dnmp是基于docker的集成环境,所以有以下优势:
- 服务之间相互隔离,通过docker-compose可以安装多个服务和版本
- 可以动态调整版本,可以同时部署php5,php7,mysql5,mysql8等等版本
- 一个命令轻松扩展php依赖
- values卷共享,可以做到编辑后,自动运行,无需fpt等上传
官方回答:
100% 开源
100% 遵循 Docker 标准
支持多版本 PHP 共存,可任意切换(PHP5.4、PHP5.6、PHP7.2)
支持绑定任意多个域名
支持 HTTPS 和 HTTP/2 PHP
源代码、MySQL 数据、配置文件、日志文件都可在 Host中直接修改查看
内置完整 PHP 扩展安装命令 默认安装 pdo_mysql、redis、xdebug、swoole等常用热门扩展,拿来即用
带有 phpmyadmin 和 phpredisadmin 数据库在线管理程序
实际项目中应用,确保 100%
可用 一次配置,Windows、Linux、MacOs 皆可用
1、拉取代码
$ git clone https://github.com/yeszao/dnmp.git
# 假如速度太慢,可以使用加速拉取镜像
$ git clone https://github.com.cnpmjs.org/yeszao/dnmp.git
2、启动
$ cd dnmp # 进入项目目录
$ cp env.sample .env # 复制环境变量文件
$ cp docker-compose.sample.yml docker-compose.yml # 复制 docker-compose 配置文件。默认启动3个服务:
# Nginx、PHP7和MySQL8。要开启更多其他服务,如Redis、
# PHP5.6、PHP5.4、MongoDB,ElasticSearch等,请删
# 除服务块前的注释
$ docker-compose up # 启动
3、看效果
在浏览器中访问:http://localhost或https://localhost(自签名HTTPS演示)就能看到效果,PHP代码在文件./www/localhost/index.php。
1、在www目录下创建自己的项目hello
2、可能会缺少依赖
docker exec -it php /bin/sh
install-php-extensions redis 等
3、修改nginx 的配置
4、新增域名到etc/hosts
5、大功告成