用 Visual Studio Code 调试运行在 homestead 环境中的 laravel 程序
本文为您介绍用 Visual Studio Code 调试运行在 homestead 环境中的 laravel 程序的相关介绍,具体实例请看下文
##安装vscode、Virtual Box5.1以及Vagrant,所有的这些软件包都为常用的操作系统提供了一个便于使用的可视化安装器,通过安装界面引导就可以完成安装。
注意,先把Virtual Box安装好再往下操作
安装 Homestead Vagrant盒子
virturalBox 和 Vagrant都安装好了之后,在终端使用如下命令符:
Homestead Vagrant 盒子 laravel/homestead
添加到Vagrant中。
vagrant box add laravel/homestead
后选择virtualbox对应的数字进行继续安装
安装 Homestead
可以通过克隆仓库代码来实现Homestead安装。将仓库克隆到目录用户下的homestead目录。这样homestead盒子就可以作为所有其他laravel项目的主机:
cd ~
git clone https://github.com/laravel/homestead.git Homestead
克隆完成后,你需要检查 Homestead 的版本标签,因为 master
分支不会总是稳定版本,你可以在GitHub Release Pag
e 查找到最新稳定版本然后在本地将其检出:
cd Homestead
git checkout v6.1.0
接下来,在 Homestead 目录下运行 bash init.sh
命令来创建Homestead.yaml
配置文件,生成的 Homestead.yaml
配置文件文件位于当前 Homestead 目录:
// Mac/Linux...
bash init.sh
// Windows...
init.bat
配置 Homestead
Homestead.yaml
文件中的provider
键表示使用哪个 Vagrant 提供者:virtualbox
、vmware_fushion
、 vmware_workstation
、parallels
或hyperv
,你可以将其设置为自己选择的提供者,当然对大部分人来说也没得选:
provider: virtualbox
配置 Nginx 站点
通过 sites
属性你可以方便地将“域名”映射到 Homestead 虚拟机的指定目录,Homestead.yaml
中默认已经配置了一个示例站点。和共享文件夹一样,你可以配置多个站点
sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
注意: to: 的文件需要在虚拟主机上建立
连接 virtual Box 虚拟主机
vagrant ssh
如果你是在 Homestead 盒子启动之后
进行了上述修改,需要运行 vagrant reload --provision
更新虚拟机上的 Nginx 配置。
$ vagrant reload --provision
Hosts文件:
不要忘记把 Nginx
站点配置中的域名添加到本地机器上的 hosts 文件中,该文件会将对本地域名的请求重定向到 Homestead 虚拟机:
在 Mac 或 Linux
上,该文件位于 /etc/hosts
在 Windows
上,位于 C:\Windows\System32\drivers\etc\hosts
,添加方式如下:
ip地址可以在Homestead.yaml
查看,your web host
则是你的虚拟站点的域名
192.168.10.10 your web host
例如:
192.168.10.10 dev.project.io
确保 IP 地址和你的 Homestead.yaml 文件中列出的一致,一旦你将域名添加到 hosts 文件,就可以在浏览器中通过该域名访问站点了:
注:在真正可以访问之前还需要通过 Vagrant 启动虚拟机上的 Homestead 盒子
启动vagrant 盒子
配置好 Homestead.yaml 文件后,在 Homestead 目录下运行 vagrant up 命令,Vagrant 将会启动虚拟机并自动配置共享文件夹以及 Nginx 站点,初次启动需要花费一点时间进行初始化:
要登录到该虚拟机,使用 vagrant ssh
命令;
关闭该虚拟机,可以使用 vagrant halt
命令;
销毁该虚拟机,可以使用 vagrant destroy --force
命令。
问题:
如果在运行过程中提示No input file specified
则有可能是应为在虚拟的盒子上没有对应的文件夹与本地项目目录进行对应的映射。这是已经配置成功了,出现 No input file specified 是因为你配置的目录下面没有可以执行的文件
解决方法:
登录虚拟主机,更具Homestead.yaml 中的配置的目录建立对应的文件夹后,添加可执行的文件,vagrant reload --provision
即可