
一直以來都是使用 Laradock
作為開發環境,但眾所皆知 Docker 在mac 上執行很慢,連 laradock
官方文件都有提到相關如何提高執行速度的方法。
考慮到開發很多專案時不同環境要另外設定搞一堆DNS問題也不是很方便,因此開始考慮嘗試其他比較輕量方便的解決方案。
而在Mac上 Laravel 官方也提供了Laravel Valet 的解決方案。
Valet 除了支援Laravel 外也支援各式其他的php 框架。如果有需要你也可以自己加入自己的Custom Driver。
Installation
安裝前需要確保 Homebrew
更新到最新的狀態:
brew update
安裝PHP
:
brew install php
安裝 Laravel Valet
:
composer global require laravel/valet
用剛剛安裝的Laravel Valet
安裝 valet
:
valet install

你可透過 valet
切換 php
版本,
如果你的系統尚未安裝你要切換的php版本的時候 valet
會透過 Homebrew
幫你安裝:
valet use php@7.2
valet use php
你也可以在專案根目錄底下新增一個 .valetphprc
檔案,並在裡面標註專案所使用的php
版本:
php@7.2
如果專案目錄下有 .valetphprc
這個檔案的話,你只需要執行 valet use
指令,指令就會自動去讀取這個檔案決定你要使用的php
版本。
Valet only serves one PHP version at a time, even if you have multiple PHP versions installed .
另外需要注意的一點是:就算你裝了多個版本的 php valet 一次也只能執行一個php 版本。
關於資料庫
官方是推薦可以使用 DBngin
,免費的 all-in-one 集成資料庫管理工具。
支援 MySQL
、PostgreSQL
、和 Redis
。
安裝之後只需要連線到 127.0.0.1
,帳號使用 root
密碼是空字串 即可連線。
你也可以選擇任何你自己喜歡的工具去搭建資料庫。
關於管理Valet
你當然可以透過 valet 提供的指令直接去管理與操作,不過使用視覺化的UI管理工具也是很不錯。這邊推薦可以使用 PHP Monitor
管理 php
與 Laravel valet
。
快速安裝:
brew tap nicoverbruggen/homebrew-cask
brew install --cask phpmon

補充:在使用 php monitor 之前需要先執行
sudo valet trust
指令。
連結你的專案 - 關於 park
與 link
主要註冊專案的指令有兩個 park
與 link
兩者主要的差別簡單的說就是
前者是註冊當前資料夾底下 所有 的專案資料夾,後者則是僅註冊 當前 資料夾。
兩者皆會為你所註冊的專案建立一個 http://<directory-name>.test
這樣以 *.test
結尾的連結。
先來看 park
:
cd ~/code
valet park
使用park
指令時,在你使用 park
底下的所有資料夾都會被註冊並可以透過網址 http://<directory-name>.test
瀏覽服務。
你可以使用 valet parked
指令瀏覽所有被註冊的專案資料夾。
你可以使用 valet forget
取消所有註冊。
park
指令是註冊資料夾底下全部的資料夾,而 link
是只註冊連結 當下資料夾。
cd ~/code/laravel
valet link
執行完後你便可以透過 http://laravel.test
,瀏覽服務。
你也可以指定你的 hostname,也可以使用subdomain:
valet link application
valet link api.application
你也可以透過 valet links
指令瀏覽你所有已註冊連結與專案。
使用 valet unlink
可以移除連結。
valet unlink your-link-name
關於PHP版本
預設 valet 會使用你系統預設安裝的php版本,但你也可以在你的別專案設定各別的php 版本。
cd ~/Sites/example-site
valet isolate php@8.0
如果你的網站名稱與資料夾不同,可以透過 --site=
指定名稱:
valet isolate php@8.0 --site="your-site-name"
另外,為了使用上方便,當要在不同版本使用 php CLI 指令或 Composer 時可以透過 Valet proxy 呼叫:
valet php
valet composer
valet which-php
關於 SSL 安全連線
預設valet 掛載的網站都是使用HTTP連線,如果你想要使用TLS HTTP/2 也是可以的( HTTPS 安全連線)。
使用 valet secure
指令:
valet secure your-link-name
卸載TLS valet unsecure
:
valet unsecure your-link-name
提供外網連線
一般我們開發都沒有擁有實際對外的網址,只能在自己電腦本機或內網連線。
如果我們想要對外讓外網連結看看網站是沒有辦法的。在這部分 valet
也提供了解決方案。
- 使用
valet share
指令:
cd ~/Sites/laravel
valet share
valet share
指令會透過 ngrok 這個服務在你的電腦開啟一個連線將外部的請求做反向代理,從而實現使用網址透過網路瀏覽到你本地端的網站。
使用 Control+C
可以結束連線。
2. 透過 expose
cd ~/Sites/laravel
expose
使用 Control+C
可以結束連線。
valet
作為日常的開發環境 可以說非常簡便優雅,沒有太多複雜的設定,使用上非常簡單。在這裡只是分享簡單的安裝與使用,更多資訊都可以在官方網站上找到