以前開發laravel項目時,一直使用的是本身配置的box。最近有時間,因此想體驗一下homstead,可是在安裝過程當中仍是遇到了一些小問題,因此在此總結一下,也分享給你們。php
下載安裝virtualbox或者vmware,可是vmware是收費的。html
下載安裝vagrantmysql
注意windows系統,須要經過bios來開啓硬件虛擬化設備ios
使用vagrant下載盒子laravel
下載homestead盒子,執行vagrant box add laravel/homestead
git
下載此盒子常常會由於網絡緣由而中斷,再執行此命令時會出現github
執行vagrant box add laravel/homestead -c
,它會清除以前下載的緩存。sql
使用連接數據庫
使用vagrant命令添加box,是不支持斷點下載的,因此常常會由於網絡緣由斷開而致使下載失敗。因此,咱們能夠經過第三方工具下載。segmentfault
如何得到下載地址呢?執行vagrant box add laravel/homestead
後,選擇完虛擬服務提供者以後,就會出現連接。可參考途中綠色部分。由於個人電腦已經安裝了homestead,因此下面的圖是我以其餘的盒子爲例顯示的。
下載別人已經下載好的盒子
當我嘗試這個方法時,下載的盒子出現了問題,因此沒有成功。若是經過composer下載盒子沒有成功,能夠參考這篇文章https://phphub.org/topics/2090
這是我經過composer安裝的homestead0.4.4版本盒子,已上傳至百度雲。下載連接及密碼連接:http://pan.baidu.com/s/1kVEnT59 密碼: vzga
經過克隆homestead倉庫來配置homestead使用vagrant添加完box,通常咱們是在初始化以後在相應的vagrantfile中作配置的。克隆homestead倉庫是由於它替咱們作了一些工做,讓配置部分的工做更簡單。接下來,我會以我本地配置的laravel項目爲例。
克隆homestead git clone https://github.com/laravel/homestead.git Homestead
進入Homestead目錄,執行bash init.sh
,生成Homestead.yaml配置文件。
進入~/.homestead目錄,便可看到Homestead.yaml配置文件。
分享一下個人Homestead.yaml相關配置, provider
表示的是那個vagrant提供者;keys
爲ssh key路徑,若是沒有ssh key則須要生成公共祕鑰;floders
是配置本機與虛擬機中的共享文件夾的;
--- ip: "192.168.10.10" memory: 2048 cpus: 1 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: /Users/yuan/PhpstormProjects to: /www sites: - map: learn.laravel.com to: /www/laravel/public databases: - laravel # blackfire: # - id: foo # token: bar # client-id: foo # client-token: bar # ports: # - send: 50000 # to: 5000 # - send: 7777 # to: 777 # protocol: udp
打開hosts文件進行配置本地域名192.168.10.10 learn.laravel.com
,便可訪問laravel這個項目
homestead默認的虛擬機的mysql用戶名:root,密碼:secret,host:127.0.0.1;若是須要經過ssh連接數據庫,ssh host:127.0.0.1,用戶名:vagrant,密碼:vagrant,ssh port:2201.
目前homestead倉庫的分支php-7已經不存在,並且目前homstead倉庫都已支持php7.因此不須要再使用這個命令克隆或升級到php7git clone -b php-7 https://github.com/laravel/homestead.git Homestead
使用vagrant傳統的方法
建立一個開發目錄,例如homestead
進入homstead目錄,vagrant init homestead
同時homestead目錄中會有vagrantfile
文件,參考vagrant文檔配置便可
執行vagrant up
啓動
執行vagrant ssh
進入
composer global require "laravel/installer"
export PATH="~/.config/composer/vendor/bin:$PATH"
確保 ~/.composer/vendor/bin 在系統路徑中
laravel new blog
每次從新進入homestead,都要從新執行命令export PATH="~/.config/composer/vendor/bin:$PATH"
可經過echo $PATH
打印全局變量對比系統路徑變化
至於爲何要確保確保 ~/.composer/vendor/bin 在系統路徑中,可進入該目錄一探究竟
今天我嘗試修改Homestead.yaml時,再使用vagrant reload
從新加載box時出現問題
差了資料以後發現是我在修改Homestead.yaml這個文件時,使用了tab
鍵,形成了文件的沒法讀取。因此小夥伴們若是出現了相似的問題,請檢查Homestead.yaml文件,是否使用tab
鍵,是否出現拼寫錯誤。
檢查完以後,請先執行vagrant provision
若是沒有報錯,請執行vagrant reload --provision
這是爲了從新加載Homestead.yaml,一旦修改這個文件,都請先執行這兩行命令
想作一個關於使用homestead的問題錦集,若是有小夥伴出現了本文沒有貼出來的問題,歡迎交流,我會添加進來?
使用 Vagrant 打造跨平臺開發環境 http://www.javashuo.com/article/p-rfyfdfoq-cw.html
Homestead 安裝須要知道的一些信息 https://phphub.org/topics/2090
上手並過渡到PHP7(1)——基於Homestead的PHP7和XDdebug環境 http://www.javashuo.com/article/p-qahaexig-d.html