* homestead這個是laravel框架提供的開包即用的開發環境,目前最新的 larvavel 5.3框架,開包環境是預裝軟件 Ubuntu 16.04 Git PHP 7.0 HHVM Xdebug Nginx MySQL MariaDB SQLite 3 Postgres Composer Node(With PM2, Bower, Grunt, and Gulp)Redis Memcached Beanstalkd 具體的請看文檔:
* 個人理解:vagrant和docker類似,都是提供一套虛擬化的解決方案。
[TOC]
###安裝
####前提條件
* 需要安裝virtualBox和vagrant軟件。
* 輸入以下命令,添加 Homestead Vagrant 盒子
``` vagrant box add laravel/homestead
```
* 通過 GitHub 安裝 Homestead
你還可以通過克隆倉庫代碼來實現 Homestead 安裝。將倉庫克隆到用戶目錄下的 Homestead 目錄,這樣 Homestead 盒子就可以作為所有其他 Laravel 項目的主機:
~~~
cd ~
git clone https://github.com/laravel/homestead.git Homestead
~~~
克隆完成后,在 Homestead 目錄下運行 bash init.sh 命令來創建 Homestead.yaml 配置文件,Homestead.yaml 配置文件文件 位于 ~/.homestead 目錄:
~~~
bash init.sh
~~~
###使用說明
* 配置同步文件夾,講電腦的文件夾與Homestead中的文件夾對應。可以理解為windows的快捷方式或者C語言中的指針。
~~~
folders:
- map: ~/laravels
to: /home/vagrant/laravels
~~~
* 配置 Nginx 站點
map為站點名稱,to對應的網站啟動目錄,多站點參考下屬設置即可。數據庫的設置與他類似。
~~~
sites:
- map: homestead.app
to: /home/vagrant/laravels/Laravel/public
- map: blog.app
to: /home/vagrant/laravels/blog/public
~~~
* 添加站點
* 一種為直接參考上述例子,添加新的站點。然后執行命令 vagrant provision 即可,如果已經在運行的盒子。執行命令 vagrant reload --provision即可。**請注意,請注意,請注意 這個操作是具有破壞性的,會將數據庫銷毀重建。**
* 動態添加站點。在 homestead 環境里,輸入命令 serve
* ssh登陸
~~~
vagrant ssh
~~~
###錯誤集錦
* found a tab character that violate intendation while scanning a plain scalar at line 18 column 11 (Psych::SyntaxError)
**這種錯誤,是配置文件homestead.ymal 中包含tab鍵,請將tab空格轉換為空格即可。vim中可用命令 :\s\t**
* 還有一種常見錯誤,就是國情所致。GFW導致的。
**解決辦法**
* FQ 方法:SS和lantern
* 各種包管理器請將地址切換為國內源
npm切換為[淘寶NPM國內源](http://npm.taobao.org):方法:npm install -g cnpm --registry=https://registry.npm.taobao.org
之后使用cnpm 即可代替npm執行即可
composer安裝源替換為[國內鏡像源(http://pkg.phpcomposer.com/)](http://pkg.phpcomposer.com/);方法:composer config repo.packagist composer https://packagist.phpcomposer.com
**這種配置下可能出現鏡像未同步。包無法安裝的情況,可等待國內鏡像更新后重試或者FQ**
- 說明
- PHP
- 數組操作
- file操作的常用方法
- PHP字符串輸出之Heredoc說明
- require(_once)和include(_once)的理解
- file_get_contents和curl
- PHP的json問題
- PHP提高效率的幾點
- PHP/異步任務隊列處理
- HTTP_AUTHORIZATION
- php中 intval和string的一些轉換問題
- 變量在 PHP7 內部的實現
- 關于exit和die
- php獲取微秒
- php高性能日志擴展seaslog的使用
- Curl使用說明
- echo的數據自動增加換行或其他
- php-memcache
- 根據18位數校驗前17位身份證號是否正確
- 將一個老項目升級到php7
- ord獲取ASCII碼
- 框架
- thinkphp5
- THINKPHP5常見問題
- Laravel5學習筆記
- homestead總結
- easywechat學習筆記
- wechat公眾號
- 獲取用戶信息的實現方式
- 前端
- HTML
- CSS
- 偽類和偽元素的區別
- Bootstrap使用
- Javascript
- Javascript梳理總結
- 巧用history.pushState無刷新改變頁面url
- jquery日期時間選擇器組件datepicker的使用說明
- 基本操作
- 比較
- 后端/Nodejs
- 多nodejs版本管理
- 小功能
- URLAPI
- 二維碼轉換
- 地圖URL直接實現導航
- 字體生成
- 網址長短互轉
- 百度短網址
- Fiddle模擬測試百度短網址api
- Composer備忘錄
- composer安裝配置
- Composer 錯誤集錦
- Composer使用自己的庫
- GIT簡單操作命令
- Git記住密碼
- git 顯示錯誤詳情和請求信息
- 工具軟件
- PHPStorm
- VI簡單操作命令
- ATOM
- browser提示shockwave false加載失敗
- Cmder使用說明
- Windows軟件總結
- 瀏覽器插件
- 支付
- 微信支付
- 支付寶
- 銀聯支付
- Ping++
- Beecloud支付
- Map
- 百度地圖BaiduMap
- RESTfulAPI設計實踐
- HTTP
- GET/POST 的請求大小
- 常見狀態碼說明
- Ubuntu
- 命令行中的>>和>的區別
- 筆記
- 正則
- Hybrid的使用記錄
- H5+和mui
- HTML5+和mui使用
- APP開發過程中藍牙問題總結
- Cordova的使用
- 服務器
- URL重寫
- 目錄限制訪問
- 軟鏈接和硬鏈接
- 票務系統對接資料和總結
- qunar去哪兒門票對接
- qunar對接case介紹及錯誤代碼
- tuniu門票對接總結
- 途牛小結
- 聯合票務對接途牛文檔說明
- 途牛簽名流程
- meituan美團
- 大眾點評
- 聯合票務
- 安卓使用技巧
- 安卓清理電池信息
- 安卓6.0使用時發現的問題
- 數據庫
- 數據庫mysql
- 分頁數據優化
- 手機號用不到索引的問題分析
- mysql配置的localhost和127.0.0.1的區別
- mysql5.5升級mysql5.7
- 數據庫MongoDB
- Redis使用說明
- phpredis使用說明
- 環境變量
- Twig使用
- 經典的文章
- 用超人的故事講解 IoC(控制反轉) 和 DI(依賴注入)