PHP急速入门一·开发环境配置

千里之行始于足下,但很多对编程报以兴趣的初学者卡在刚开始的环境配置就失去兴趣了。这很可惜,因为编程并没有你想象那样难。本教程带你绕过环境配置的沟沟坎坎,不出一个小时就能搞定环境配置,让你的才华不会被埋没。
为什么能辣么方便?因为本教程思路是帮你安装一台虚拟机,这台虚拟机什么都有,你虚拟装好了其他一切就装好了。
最后,我们还有�视频教程

工具包下载地址:这里

包内有以下几个工具(针对Windows)

  • Cygwin64 :Windos 下的Linux环境模拟器
  • VirtualBox:虚拟机
  • Vagrant: 虚拟机管理工具
  • Homestead.box:Laravel官方针对PHP开发配置的ubuntu虚拟机镜像,预装了php5.6, Nignx,Node,redis等等。
  • Homestead.zip: Laravel官方定制的Vagrant配置文件

Laravel是什么鬼?Laravel是目前最流行的PHP框架。下图最长的那个就是Laravel:


PHP Framework Popularity at Works

框架又是什么鬼?框架可以理解为网站的雏形。为了方便开发,大牛们把做网站需要的核心代码都帮你写好了,文件怎么放置也帮你规划好了,安全性问题也帮你考虑了。按照大牛给的套路,你可以很轻松的做出一个较为复杂的网站,也方便团队日后的维护。

我们开始进入正题

1.Windows 模拟Linux环境:

这样做是为了统一开发体验,因为Windos下执行的是DOS命令,但对于习惯于Mac和Linux开发的童鞋来说有点不顺手。做开发的应该对自己好一点。
双击Setup-x86_64.exe 开始安装,在安装的过程中可以选着国内的镜像源http://mirror.163.com 记得安装插件ssh,这样在模拟的Linux环境中就可以执行ssh命令了。

Cygwin默认在C盘cygwin64在这个文件中模拟了一个Linux环境,这个文件夹就是你Linux的根目录。

2.SSH创建密钥?

SSH虽然不能吃,但你可以用SSH登陆远程服务器。我们将用它来登陆虚拟机SSH。因此你需要先创建一对密钥,执行命令

ssh-keygen -t rsa -C "you@homestead"

过程中会问你一些问题,不用管它一路回车就好了。
然后在你的家里可以看到多了个.ssh的文件夹里面,里面装了你的私钥id_rsa和公钥id_rsa.pub两个文件。



私钥是自己保管的,公钥是给“别人”的。打个不完全恰当的比方,私钥像门锁,公钥就像钥匙。门锁只有一个,是装在自家大门上的,我们也不会把它别人,但我们可以配好多把钥匙交给我们信任的家人。于此类似,我们会把公钥交给我们信任的远程服务器。当我们在链接服务器的时候,服务器会先拿着我们预先给他的公钥与我们自己保管私钥做匹配,如果私钥和公钥匹配上了就可以证明这个人确实是我。

拓展:关于ssh其他用法可以看这篇文章

2.Vagrant 安装

安装Vagrant之前,需要先装VirtualBox虚拟机,一路下一步就是了。


装好后,我们可以装Vagrant了。

装好会重启,重启完毕后我们再到Cygwin中执行命令vagrant
看看有什么反应:

对,有很强烈的反应。这说明安装成功了!
接下来我们需要添加镜像文件,我们将下载好的homestead_0.2.0.boxHomestead.zip 放到我的"家中"(c:/cygwin64/home/xiongyongxin/)解压Homestead.zip到Homestead文件夹中。
回到命令窗口,执行这面这段命令:

   vagrant box add laravel/homestead  ./homestead_0.2.0.box

注意./homestead_0.2.0.box这段要根据放置文件地址来定。
速度很快,一会就好。

现在我们进入到刚解压好的Homestead文件夹中:

cd Homestead

执行命令,看看反应

 vagrant up

结果报错了,没关系,我们需要去配置一下Homestead.yaml。用编辑器打开它:

---
ip: "192.168.10.10"
memory: 2048
cpus: 1

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Sites/plantbabe.com/Code
      to: /home/vagrant/Code

sites:
    - map: plantbabe.cc
      to: /home/vagrant/Code/v0.plantbabe.com/public
      hhvm: true 

sites:
    - map: xiye.cc
      to: /home/vagrant/Code/xiye.plantbabe.com/public
      

variables:
    - key: APP_ENV
      value: local

authorize指定了我们公钥的地址,当启动虚拟机的时候,这台虚拟机就获得了我们的公钥。
folders 指定了文件夹的映射关系,我们先去自己的家里创建一个Code文件夹,用来与Vagrant家中的Code文件夹实现共享。把上面的源文件的代码改为:

folders: 
    - map: ~/Code 
      to: /home/vagrant/Code

map对应的是本地的真实地址,to对应的是虚拟机中的地址。

sites指定了站点的映射关系,就是我们在主机访问域名的时候,服务器会先执行那个目录的文件。因为Laravel把网站的入口文件放置在public下面,我们因此在站点指定到public下面:

sites: 
     - map: yiban.cc
       to: /home/vagrant/Code/yiban.cc/public
       hhvm: true 

vagrant 支持多站点的配置,我们现在只有一个站点,所以另外一个可以删除掉。和上面类似,map对应的是浏览器的访问域名;to对应虚拟机中的地址。如果需要开启hhvm,设置为true,在开发环境里面hhvm没有什么用。如果要配置多站点的话请把这行去掉。
最后这个文件变成这样了。

---
ip: "192.168.10.10"
memory: 2048
cpus: 1

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Code
      to: /home/vagrant/Code

sites:
    - map: yiban.cc
      to: /home/vagrant/Code/yiban.cc/public
    

variables:
    - key: APP_ENV
      value: local

修改好后,我们在该目录下再次执行:

vagrant up

看到一长串,说明启动成功了。
不信?那么我们可以到Virtual Box看看,一台虚拟机正在跑。


进入虚拟机内部:

vagrant ssh

如果你的ssh生成的密钥地址正确的话,很快就能进去。

3.链接数据库:

链接数据库windows 上可以用navicat。在Mac上面可以用Sequel pro。
主机域名用localhost,端口:33060,用户名:homestead,密码:secret



点击确定就可以连上了。

Paste_Image.png

4.创建Laravel项目

现在我们可以开始创建一个项目
这里下载Laravel一件安装包。解压后将代码复制到Code下面的yiban.cc文件夹中,如图:


在浏览器地址栏上输入192.168.10.10,我们就可以看到页面有东西出来了。

这个ip地址来自之前我们配置的Homestead.yaml 文件。但这样不够优雅,也可能会带来一些其他问题。比如一台服务器上配置多个站点域名,用同一个IP就会出错了。因此,我需要在本地绑定一下hosts,打开C盘,编辑文件Windows/System32/drivers/etc/hosts


添加上

192.168.10.10   yiban.cc

保存好后,重启浏览器,用浏览器访问yiban.cc,于是刚刚那个页面可以用域名访问了。如果有问题,清理一下缓存再试一试。
Mac 系统在/etc/hosts中,修改的话要管理操作权限。

hosts就好像一个存在电脑上电话号码本,存了一些网站域名对应的IP。浏览器去访问域名的时候,先会在本地的号码本上查看是否有记录,如果有的话就直接拨电话了(访问该IP)了,所以当我们去访问yiban.cc时候实际上访问的192.168.10.10。
编辑并保存hosts文件后,我们重启浏览器后访问yiban.cc。不出意外的话,我们可以看到刚刚的那个网站。

配置多个站点

和上面一样,我们只要再在Homestead.yaml添加一个sites的配置就就好了,

sites:
    - map: xiye.cc
      to: /home/vagrant/Code/xiye/public
      

然后执行

vagrant provision

这样虚拟机就会载入新的配置。

结语

日常使用的时候,记住下面2个命令就好了:

  • 开启虚拟机:cd 到Homestead文件夹执行命令

休眠

vagrant suspend

重启

vagrant resume
  • 进入虚拟机:
vagrant ssh

链接数据库用Navicat 等管理软件直接连接就好了
浏览器访问输入绑定的域名:yiban.cc
是不是很简单?什么,还是不懂?
看视频吧!�视频教程

参考资料
http://www.golaravel.com/laravel/docs/4.2/homestead/
http://segmentfault.com/a/1190000000264347

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,440评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,814评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,427评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,710评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,625评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,014评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,511评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,162评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,311评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,262评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,278评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,989评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,583评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,664评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,904评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,274评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,856评论 2 339

推荐阅读更多精彩内容