之前一直使用wamp在windows进行laravel开发的,最近想使用websocket实现一个动态的功能,网上也有许多laravel上使用websocket的实现,但是更多的人推荐swoole,并且能加速Laravel执行,所以决定使用swoole,但是swoole并不能在windows下安装,于是想使用homestead来本地开发,配置过程中,发现Vargant的很多东西在国内下载速度十分的慢。

安装

1.下载Virtualbox并安装,Cpu开启虚拟化支持。

2.下载windows版Vargant(https://www.vagrantup.com/downloads.html)并安装

3.Cmd中执行

vagrant box add laravel/homestead

在国内下载是会被中断的,因为太慢了。这里可以采用迅雷下载。将上面命令打印出来的资源地址,复制到迅雷。

4.下载完成后,将文件名修改为virtualBox.box,然后执行下面命令执行添加homestead虚拟机:

vagrant box add laravel/homestead file:///D:/virtualBoxDisk/virtualbox.box

5.下载Homestead配置项目

git clone https://github.com/laravel/homestead.git Homestead

配置

官方文档上关于Homestead配置的内容已经介绍的很详细了,参考:https://laravel.com/docs/5.6/homestead#configuring-homestead

下面是哀差闷的Homestead.yaml:

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

authorize: C:/Users/18073621/.ssh/id_rsa.pub

keys:
    - C:/Users/18073621/.ssh/id_rsa

folders:
    - map: E:/wamp/www/icharmProjects
      to: /home/vagrant/code/icharmProjects

sites:
    - map: all.icharm.me
      to: /home/vagrant/code/icharmProjects/public

databases:
    - icharmProjects

 

启动

问题1:哀差闷在启动(vagrant up)时,提示powershell版本低,需要3.0及以上

升级powerShell可以参考:https://blog.csdn.net/i_am_wangbo/article/details/50033473

问题2:提示找不到homestead,然后自动去联网下载去了,如图:

这个问题是因为上面哀差闷是通过迅雷下载的homestead box,然后手动添加的到vagrant中,手动添加会指定默认版本为0,而上面提示Box Version >= 6.0.0 所以,报错的实际意思是没有找到版本大于6.0.0的laravel/homestead。

找到用户目录下的.vagrant.d/boxes/laravel-VAGRANTSLASH-homestead 中将0文件夹名改为6.0.0(这个文件夹名代表着版本号)。然后在当前目录下新建metadata_url的文本文件(无后缀名),编辑这个文件,添加这个链接: https://app.vagrantup.com/laravel/boxes/homestead 。不添加这个链接会报无法检查box更新的错误。

安装swoole

根据Swoole官方文档https://www.swoole.com/, 依次执行以下命令:

$ sudo pecl channel-update pecl.php.net
$ sudo pecl install swoole

在homestead环境下报phpize not found错误,解决方法安装php-dev,安装对应版本的dev

$ sudo apt install php7.2-dev

 


风雨兼程路,雨雪初霁时