Laravel集成開發環境配置

Laravel的目的就是讓開發這的開發體驗更愉快,開發過程更加簡單。在環境搭建上也是如此。
Laravel homestead是一個官方發佈的vagrant封裝包——一個虛擬機——提供完備的開發環境。在homestead配置完成後,不需要在本地環境中配 置任何的開發工具,vagrant可以搞定一切。因爲是虛擬機,不會對本地系統產生任何的破壞。同時如果出現故障,可以在幾分鐘內銷燬並重建虛擬機。
homestead是跨平臺的,可以在windows,Linux,Mac上運行,其中集成了nginx,php5.6,MySql,postgres,Redis,Memcached,HHVM等所有開發laravel所需的軟件。
本文檔是針對windows環境下homestead的配置運行。

1. 本地環境設置

1.1 編輯器

建議使用sublime Text 3,會有單獨文檔來說明如何使用Sublime Text高效開發php。

1.2 php

運行composer必須要有PHP,建議使用最新版本的發行版php,目前最新版本5.6.8。php windows版本分爲32位和64位的,64位目前仍處於試驗階段,我們選擇穩定的32位版本。其中又分爲thread safe和not thread safe版本,在web開發中我們選擇not thread safe版本,點擊這裏下載。
注意 php windows版本使用VC11編譯,系統需要有Visual C++ Redistributable for Visual Studio 2012 x86 or x64,如果系統沒有安裝這個包,請點擊這裏下載安裝。
(1) 下載壓縮包解壓到C盤根目錄
(2) 配置環境變量,添加C:\php-5.6.8-nts-Win32-VC11-x86到PATH。
(3) 修改php配置。拷貝php.ini-development 爲php.ini。去extension=php_openssl.dll(composer需要) extension=php_mbstring.dll(laravel需要)前的註釋。找到; extension_dir = "ext",修改爲extension_dir = "C:\php-5.6.8-nts-Win32-VC11-x86\ext"
(4)打開console,運行php -version確認php安裝成功。

C:\>php -version
PHP 5.6.8 (cli) (built: Apr 15 2015 15:07:05)  
Copyright (c) 1997-2015 The PHP Group  
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

1.3 composer

點擊這裏下載。
安裝完成後,打開console,運行composer --version確認安裝成功。

C:\>composer  --version
Composer version 1.0-dev (bc45d9185513575434021527d7756420e9f4b2cf) 2015-05-11 14:49:39

composer默認會從·http://packagist.org/· 下載依賴包,速度比較慢,可以採用國內的鏡像包來替代源。
composer的全局配置文件位於 C:\Users\benjamincao\AppData\Roaming\Composer\composer.json,兩個速度比較快的可選的源配置如下:

{    "repositories":[
        {            "type":"composer",            "url":"https://toran.reimu.io/repo/packagist/"
        },
        {            "packagist":false
        }
    ]
}

或者

{    "repositories": [
        {            "type": "composer", 
            "url": "http://comproxy.cn/repo/packagist"
        },
        {            "packagist": false
        }
    ]
}

在開發laravel項目時,也可以在當前項目的composer.json文件中添加這些國內鏡像,可以加快對包的更新

1.4 putty

putty是免費的ssh客戶端,登錄homestead虛擬機的利器。
點擊這裏下載。
注意 如果不使用putty登錄,用homestead ssh登錄,也可以。

2. Homestead 相關軟件安裝

2.1 vagrant

vagrant是一個虛擬機管理工具。在添加虛擬機後,可以啓動虛擬機的鏡像,如果出現錯誤,可以隨時銷燬重建開發環境。

這裏 下載。下載後直接安裝。
vagrant安裝確認:

C:\>vagrant --version
Vagrant 1.7.2

2.2 virtualbox

virtualbox是作爲vagrant的一個provider,安裝後,在啓動homestead時候,vagrant會自動啓動virtualbox。

這裏 下載,下載直接安裝。

2.3 homestead

直接使用composer安裝

composer global require "laravel/homestead=~2.0"

homestead將會被安裝在C:\Users\benjamincao\AppData\Roaming\Composer\vendor\laravel\homestead

2.4 Git

安裝Git的目的是使用Git Bash,homestead的啓動腳本是bash shell,windows下面使用Git Bash正好。

點擊這裏下載,然後安裝。安裝完畢就可以使用了。

3. 環境啓動

3.1 使用vagrant添加homestead鏡像文件

vagrant box add laravel/homestead

選擇virtualbox作爲provider。

下載的虛擬機,位於C:\Users\benjamincao\VirtualBox VMs\homestead
注意虛擬機文件較大,下載需要較長時間,可以直接拷貝後,添加到vagrant中。

vagrant box add laravel/homestead file:///d:/hbox/virtualbox.box

3.2 生成rsa key

通過ssh登錄homestead需要這個。

打開Git Bash,這是一個比較完備的Windows下的shell工具。在運行homestead的命令的時候都需要在這個bash中運行。

ssh-keygen.exe  -t rsa -C "[email protected]"

3.3 配置並啓動homestead

cd AppData/Roaming/Composer/vendor/laravel/homestead/
homestead init

生成homestead的配置文件,位於C:\Users\benjamincao\.homestead\Homestead.yaml

homestead edit

使用編輯器打開創建的配置文件。

---
# 虛擬機配置。
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

# 共享文件夾配置,map是本地文件夾,此處修改爲本地項目文件夾;to是虛擬機的文件夾,一般不需要修改,因爲homestead中的nginx的配置也是如此。
folders:
    - map: ~/Code
      to: /home/vagrant/Code

# nginx的配置。需要在本地hosts中添加域名的解析。
sites:
    - map: homestead.app
      to: /home/vagrant/Code/public

# mysql的數據庫配置
databases:
    - homestead

# 這個不知道是幹什麼用的,猜測是環境變量設置。
variables:
    - key: APP_ENV
      value: local

一個可用的配置示例:

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: c:/Users/benjamincao/.ssh/id_rsa.pub

keys:
    - c:/Users/benjamincao/.ssh/id_rsa

folders:
    - map: D:/workspace/ERP/trunk
      to: /home/vagrant/Code

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

databases:
    - homestead

variables:
    - key: APP_ENV
      value: local

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 93000
#       to: 9300
#     - send: 7777
#       to: 777
#       protocol: udp

啓動homestead

homestead up

3.4 登錄說明

登錄主要包括ssh的登錄和mysql的登錄。

3.4.1 ssh登錄

homestead ssh

我這裏在使用homestead ssh時,總是會出現屏幕卡死的情況,推薦使用putty登錄。
初始用戶名密碼  vagrant / vagrant  

3.4 2 mysql密碼

homestead  / secret
root / secret  

3.5 高級配置

3.5 增加新的網站

  • 方法一
    homestead.yaml中添加站點配置。然後再homestead目錄執行命令vagrant provision
    vagrant provision這個命令是有破壞性的,它會重新構建數據庫

  • 方法二
    ssh登錄homestead後,執行serve命令。

    serve domain.app /home/vagrant/Code/path/to/public/directory 80

4. 命令詳解

4.1 homestead命令

命令解釋
up啓動homestead
halt停止homestead
init創建初始化的homestead.yaml
edit編輯homestead.yaml
suspend掛起homestead
resume繼續掛起的homestead
ssh通過ssh登錄homestead
run通過ssh在homestead上運行命令
status獲取homestead的狀態
list列表命令
help顯示命令的幫助
provision重新配置homestead
destory銷燬homestead
update更新homestead鏡像


在 1.3 composer 的安裝中最好使用***工具進行***後安裝,避免一直提示 “Connection Error [ERR_CONNECTION]: Unable to connect to getcomposer.org ...” 錯誤





在 2.3 homestead中

直接使用composer安裝時,最好在composer.json中加上

ts.jpg

避免錯誤:

error.jpg

 
 

如果homestead up的時候,一直提示下面的錯誤

Clipboard Image.png

解決:確保CPU開啓了Virtualization Technology(VT)虛擬化支持。針對Intel的CPU,可在開機時按住相應的功能鍵進入BIOS,確認Intel Virtual Technology配置爲enable。



錯誤:QQ圖片20151216095657.png

執行以下步驟:

1、刪除C:\Users\Carnet Motors\VirtualBox VM目錄下的所有文件

2、在CMD運行如下命令Clipboard Image.png



新版本安裝不能直接 homestead init 而是要使用

bash init.sh



~ homestead up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'laravel/homestead' could not be found. Attempting to find and install...    default: Box Provider: virtualbox    default: Box Version: <= 0.3.0

打開C:\Users\Carnet Motors\AppData\Roaming\Composer\vendor\laravel\homestead\scripts\homestead.rb文件 把 

config.vm.box_version = settings["version"] ||= "<= 0.3.0" 改爲 config.vm.box_version = settings["version"] ||= ">= 0.3.0"


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章