如何使用MAMP PRO開發Laravel?
之前我一直使用Homestead作為Laravel的開發環境,不過因為實務上遇到幾個問題,我一直想換掉Homestead,實際對MAMP PRO測試了一段時間後,發現剛好滿足我的需求。本文紀錄一些我使用MAMP PRO的心得。
Version
MAMP PRO 3.4
Homestead的缺點
Homestead雖然方便,也是Laravel官方推薦的開發環境,不過使用一段時間後,發現他有幾個致命的缺點 :
- 耗電
若外出demo時,使用Homestead大約3小時就可以將Macbook Pro 15” Retina的電全部耗盡。 - 很吃記憶體
Homestead預設就吃掉了2GB的記憶體,所以勢必要搭配16GB的記憶體才夠使用。 - 設定環境麻煩
由於PhpStorm要裝在Mac本機,要設定PhpStorm的偵錯與測試環境至Homestead比較麻煩。 - 多PHP版本切換
若需要維護較舊的專案,需要使用較舊版本的PHP,Homestead僅提供單一版本的PHP,無法切換。 - 執行速度較慢
由於TDD需要頻繁的測試,在Homestead內執行明顯較慢,若在Mac本機執行會快非常多。
基於實務上幾個原因,我改用了MAMP PRO,剛好都可以解決我遇到的問題。
MAMP PRO安裝
到MAMP Download下載MAMP即可,MAMP與MAMP PRO使用相同的安裝檔,差異只在MAMP PRO需要註冊碼,基本上安裝只要下一步
即可,非常簡單。
MAMP PRO特色
支援多站台與每個站台PHP獨立版本
可設定多站台,自動維護etc/hosts
。
每個站台可以跑獨立PHP版本
。更新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:php55
與php56
,如此就能使用不同PHP版本來跑PHPUnit。
連接資料庫
使用Sequel Pro,選Socket,使用root連進MySQL。
Conclusion
- 由於MAMP PRO的方便,對於想專注Laravel開發的人非常適合,你不用懂很多Apache與MySQL的設定,只要會使用他提供的GUI,與一點點的path與alias設定,就可以很開心的開發Laravel。