幸好,Docker来了!它简单易用,灵活多变,方便迅捷,扫除了以上种种弊端.如果你想稍微详细的认识下这位虚拟化界的明星,传送门( 快速理解Docker ).
安装Docker
平时开发的环境一般都是Mac或者windows,Linux暂时没有研究,所以此时此刻呢只针对前两者写下步骤,这两个平台,官方都推荐了两种安装方式:app和工具包(toolbox).注:app方式对系统版本和配置会有一定要求,而且Windows需要你安装微软虚拟化产品Hyper-V,具体见app链接页面.
APP
...
工具包
以上方式本质上都会在你的系统中安装docker-engine、docker-machine、docker-compose和VirtualBox(除了Windows的app方式).因为docker高度依赖linux内核提供的cgroup,namespace 等特性和接口,所以mac和windows平台需要使用docker-machine和虚拟机在后台创建运行一个linux内核.
而我的安装方式就是直接在 Mac 上使用brew,如果你未曾安装brew,则在终端执行以下代码:
/usr/bin/ruby -e "$(curl -fsSL )"
安装docker所需要的包:
brew install docker docker-machine docker-compose virtualbox
创建一个docker-machine:
docker-machine create -d virtualbox default
注:-d 指定使用virtualbox来创建default 为machine名称
告诉主机如何找到docker-machine:
echo $(docker-machine env ) .zshrc
注:这里的.zshrc是我的用户配置文件,如果你用bash,可以改为.bash_profile.
启动docker-machine:
docker-machine start default Compose你的应用
docker-compose是用于定义和运行复杂Docker应用的工具.你可以在docker-compose.yml文件中定义一个多容器的应用,然后使用一条命令来启动,然后所有预先定义好的操作都会被自动完成.
为了不重复造轮子,直接使用github上的第三方包.当然你也可以亲自构建每一个你所需要的容器镜像,然后用docker-compose.yml将所有容器组织起来运行,但这需要你具备一定的linux基础和docker的运行机制和相关语法.
本人正在学习 laradock 这个基于Docker的开发环境包,然后根据自己的需要删除了一些我认为不常用的部分、修改了部分配置以及增加了Elasticsearch容器,最终新开了自己的仓库 DevDock .当然,也推荐使用laradock.
我的仓库目前支持的容器组合:
注:workspace和php-fpm一般会被其他容器所依赖,所以会自动运行,启动时不必指定.
进入到你的应用的上级目录:
git clone
修改hosts
修改你的nginx中的站点配置文件:
在DevDock目录下找到nginx,修改sites目录下的站点配置文件,通过修改本地的hosts来自定义域名,并在nginx容器中的sites文件夹下,修改相应的域名映射.
server_name laravel.dev
安装启动应用
cd DevDock docker-compose up -d nginx mysql ... # 后面跟上你想使用的容器即可
然后,耐心地等待开发环境自动搭建完成即可,如果中途出现错误,一般是因为GFW,网络会不太通畅,重新执行一两次就好,完成之后,打开浏览器,访问: 即可.
① 切换root: 在终端里输入
sudo?-i
输入管理员密码就好了.
先在终端输入
cd
cd后面带空格,之后在Finder里打开需要的这个文件的的父级目录,选中需要打开的文件夹往终端里拖,如图,目录自动就贴上了,回车就进入目录了.
修改文档权限和linux里一样,先用
ls?-l
显示当前目录下所有文件属性(可看到所属权限)
再用chown修改就可以了.
你可以试试绿色集成环境PHPWAMP,切换共生模式可以和其他任意环境一起使用
PHPWAMP可以切换任意PHP版本,纯绿色,很少出问题,一步到位,解压就能使用
而且PHPWAMP集成环境的相关教程在网上很多,也很详细,所以建议你还是使用PHPWAMP吧,连VC运行库都不需要你按照,真正的纯绿色
在windows下配置PHP开发环境一般使用XMAPP,Mongo扩展也比较容易配置;但是在Mac下,XMAPP配置Mongo扩展需要匹配版本,资源难找,而且使用GCC生成的过程相当痛苦,尤其是对于我这个MAC新手来说,完全不知道如何下手.
终于在茫茫网络资源里,找到了另一种简易办法,使用MAMP,下面介绍如何配置MAMP的Mongo扩展.
[html] view plain copy 在CODE上查看代码片派生到我的代码片
①. - Download MongoDB php driver .
and using temrinal
Find ; Extensions
add extension=mongo.so