用 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
即可