为了学laraval, 我按照教程装了个homestead的vagrant镜像,它相当于一个预先安装了很多你开发部署php应用必需(或者不太必需)的工具的ubuntu系统,自带nginx,php,mysql,hhvm,memcache,还有一个好处是目录映射,比如把虚拟机的站点目录映射到本地开发用的目录,目录是即时同步的,这样就能在本地写代码,然后在虚拟机的环境里直接运行。本地通过配置/etc/hosts文件,在浏览器里就可以查看运行的结果。同时homestead有一个自己的bin,里面封装了一些vagrant命令的操作,通过composer global require “lavaral/homestead”安装。

理想很丰满,现实很骨感。hometead第一个坑是下载和安装,第一次我直接用vagrant box add “laravel/homestead” 安装,下载的是4.0的版本,公司网速10M专线,应该说下载速度还可以,也有1M/s的速度,然而悲剧总发生在最后,下到90%多的时候挂掉了,直接用命令下载似乎不太稳定;好吧,于是我把box的地址拷出来,扔迅雷,直接下载到本地,然后执行vagrant box add /path/to/box完成安装,别问我为什么这样做,问google。然后执行homestead init,homestead up之后,屏幕显示出现的问题是“无法识别php5-fpm”,但毕竟是启动成功了,homestead ssh上去,一看/etc/init.d/,根本没有php5-fpm,只有php7.0-fpm, 而且nginx的配置里php-fpm也是连的php5的socket,WTF,这系统都升级php7了,配置文件还没改,homestead up –provision的话还是php5的配置,我只好手动改配置了。

stackoverflow 上找到一个答案,似乎可以用php7-dev的分支,虽然也是有些问题,然而,当我打开github地址时,找了半天,明明只有master和2.0分支,咦,说好的php7-dev分支呢,好吧,我只好转到packagist看看,额,最新3.0也不是支持php7的啊。

我能理解面向PHP7是业界的趋势,但镜像显然是有问题的,而且配置的包也没跟上,折腾一下午,就为一个工具,强烈推荐新手学习larava不要折腾homestead,它给你带来的方便远远比不上它给你带来的麻烦,不用homestead你也能学得很好。

 

- EOF -