輕量級的Laravel開發環境

之前我一直使用Homestead作為Laravel的開發環境,不過因為實務上遇到幾個問題,我一直想換掉Homestead,實際對MAMP PRO測試了一段時間後,發現剛好滿足我的需求。本文紀錄一些我使用MAMP PRO的心得。

Version


MAMP PRO 3.4

Homestead的缺點


Homestead雖然方便,也是Laravel官方推薦的開發環境,不過使用一段時間後,發現他有幾個致命的缺點 :

  1. 耗電
    若外出demo時,使用Homestead大約3小時就可以將Macbook Pro 15” Retina的電全部耗盡。
  2. 很吃記憶體
    Homestead預設就吃掉了2GB的記憶體,所以勢必要搭配16GB的記憶體才夠使用。
  3. 設定環境麻煩
    由於PhpStorm要裝在Mac本機,要設定PhpStorm的偵錯與測試環境至Homestead比較麻煩。
  4. 多PHP版本切換
    若需要維護較舊的專案,需要使用較舊版本的PHP,Homestead僅提供單一版本的PHP,無法切換。
  5. 執行速度較慢
    由於TDD需要頻繁的測試,在Homestead內執行明顯較慢,若在Mac本機執行會快非常多。

基於實務上幾個原因,我改用了MAMP PRO,剛好都可以解決我遇到的問題。

MAMP PRO安裝


MAMP Download下載MAMP即可,MAMP與MAMP PRO使用相同的安裝檔,差異只在MAMP PRO需要註冊碼,基本上安裝只要下一步即可,非常簡單。

MAMP PRO特色


  1. 支援多站台與每個站台PHP獨立版本
    可設定多站台,自動維護etc/hosts
    每個站台可以跑獨立PHP版本

  2. 更新PHP版本容易
    只要到官網下載已編譯好的PHP版本,解壓後放在/Applications/MAMP/bin/php即可,MAMP PRO重新啟動就可以抓到新安裝的PHP版本。

設定PHP版本


使用GUI的方式切換PHP版本,MAMP PRO會自動幫你切換PHP-FPM,但PHP-CLI則必須手動處理。

命令模式預設版本

也就是你在terminal打php時,預設會執行的PHP版本。由於OS X內建的PHP在/usr/bin下,我們必須讓我們安裝的PHP版本,在path搜尋時放在usr/bin之前,這樣才會執行我們指定的PHP版本。1 1本文以iTerm2 + on-my-zsh為例,詳細請參考如何設定iTerm2環境?

1
oomusou@mac:~$ vim .zshrc

手動啟動各版本

雖然已經設定了PHP-CLI的版本,但有時我們會想執行特定版本的PHP,如執行PHPUnit時,為了跟正式上線主機的PHP版本相同,我們會希望用特定版本的PHP來執行PHPUnit。

1
oomusou@mac:~$ vim .zshrc

設定了兩個alias:php55php56,如此就能使用不同PHP版本來跑PHPUnit。

連接資料庫


使用Sequel Pro,選Socket,使用root連進MySQL。

Conclusion


  • 由於MAMP PRO的方便,對於想專注Laravel開發的人非常適合,你不用懂很多Apache與MySQL的設定,只要會使用他提供的GUI,與一點點的path與alias設定,就可以很開心的開發Laravel。
2015-11-20