之前一直使用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
Comments | NOTHING