前言:
大神们告诉我Laravel Homestead可以给我一个奇妙的开发环境,我不需要你在本机上安装PHP、HHVM、web服务器和其它的服务器软件。不用再担心搞乱我的操作系统!Vagrant箱子是完全可支配的。如果出现故障,你可以在几分种内完成销毁和重建箱子! 于是我满怀期待的开始我的Homestead之旅 哦忘了说了,我系统是windows (然而遇见不少坑啊于是我把坑记录下来希望后来人能有更加愉快的体验)
1、安装VirtualBox和Vagrant (安装路径请填写英文的)
安装VirtualBox https://www.virtualbox.org/wiki/Downloads)和 Vagrant (http://www.vagrantup.com/downloads.html
这两个软件安装都比较简单基本都是下一步 但是注意版本这里我便遇到了第一个坑:我下载的vagrant_1.9.3.msi版本 安装后报错了如下:
然而在百度个和github上苦苦搜寻了一番也没有解决方案,于是就降低了版本使用了1.9.0顺利通过:-D。
这里需要注意的是原来高版本的vagrant需要先卸载,卸载方法是重新双击安装程序后选择卸载项即可 如图:
下面表示安装成功:
2、下载并添加 homestead box
先在cmd命令行或者powershell或者git bash中执行下面的命令
vagrant box add laravel/homestead
输出:
为了加快下载速度, CTRL+C 中断下载, 把上图剪头指向的链接利用多线程下载工具下载.下载后执行以下命令, 修改 /path/to/virtualbox.box 为正确的 path.
vagrant box add laravel/homestead D:\path\virtualbox.box
如果这个方法还不行那你就留下邮箱,我给你发邮箱
3、安装 homestead 命令
composer global require "laravel/homestead=~2.0"
注意前提是你已经安装了composer并且确定~/.composer/vendor/bin 目录在你的 环境变量的PATH 里面.
这个问题需要执行下
composer self-update
安装成功:
4、克隆源代码到本地
git clone https://github.com/summerblue/phphub5.git
5、先执行homestead init 进行初始化 然后配置本地的 Homestead 环境
1). 运行以下命令编辑 Homestead.yaml 文件:
homestead edit
2). 加入对应修改,如下所示:
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: D:\WWW\NEW\XiaoT
to: /home/vagrant/Code
sites:
- map: homestead.app
to: /home/vagrant/Code/public
databases:
- homestead
3). 应用修改
修改完成后保存,然后执行以下命令应用配置信息修改:
homestead provision
注意:有时候你需要重启才能看到应用。运行 homestead halt 然后是 homestead up 进行重启。
注意:发布了后可以
快速链接:
alias vm="ssh vagrant@127.0.0.1 -p 2222"
输入vm即可
还有一个问题就是配置fpm 如果不配置 会出现一下情况:
配置fpm步骤如下:
(1)homestead up 后 然后输入vm连接好进入环境 查看当前PHP版本如下:我的是php7.1
(2) 进入cd /etc/nginx/sites-enabled/ 路径下 利用sudo!!!打开编辑homestead.app文件
(3)编辑/php5-fpm.sock;-》/php7.1-fpm.sock;
执行service nginx restart 重启nginx
6、在本地执行composer install 安装所需要的扩展
7、生成配置文件
cp .env.example .env
8、使用安装命令
虚拟机里面:
php artisan est:install
那么我在执行这个命令的时候那遇到一个无效的符号链接如下:
[ErrorException]
include(/home/vagrant/phphub5/vendor/composer/../thujohn/rss/src/Thujohn/Rs
s/RssServiceProvider.php): failed to open stream: No such file or directory
解决办法如下图:
然后重新执行命令即可;(可能需要将composer.json 中符号连接想删掉)
9、配置 hosts 文件
linux主机里:
echo "192.168.10.10 phphub.app" | sudo tee -a /etc/hosts
windows 使用SwitchHost软件添加host:
192.168.10.10 phphub.app