使用 Laravel Valet 作為Laravel開發環境

hosomikai
6 min readJan 10, 2023

--

輕量級的Laravel開發環境

一直以來都是使用 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 集成資料庫管理工具。
支援 MySQLPostgreSQL、和 Redis

安裝之後只需要連線到 127.0.0.1 ,帳號使用 root 密碼是空字串 即可連線。

你也可以選擇任何你自己喜歡的工具去搭建資料庫。

關於管理Valet

你當然可以透過 valet 提供的指令直接去管理與操作,不過使用視覺化的UI管理工具也是很不錯。這邊推薦可以使用 PHP Monitor 管理 phpLaravel valet

快速安裝:

brew tap nicoverbruggen/homebrew-cask

brew install --cask phpmon
php monitor 管理介面

補充:在使用 php monitor 之前需要先執行 sudo valet trust 指令。

連結你的專案 - 關於 parklink

主要註冊專案的指令有兩個 parklink
兩者主要的差別簡單的說就是
前者是註冊當前資料夾底下 所有 的專案資料夾,後者則是僅註冊 當前 資料夾。
兩者皆會為你所註冊的專案建立一個 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 也提供了解決方案。

  1. 使用 valet share 指令:
cd ~/Sites/laravel

valet share

valet share 指令會透過 ngrok 這個服務在你的電腦開啟一個連線將外部的請求做反向代理,從而實現使用網址透過網路瀏覽到你本地端的網站。

使用 Control+C 可以結束連線。

2. 透過 expose

cd ~/Sites/laravel

expose

使用 Control+C 可以結束連線。

valet 作為日常的開發環境 可以說非常簡便優雅,沒有太多複雜的設定,使用上非常簡單。在這裡只是分享簡單的安裝與使用,更多資訊都可以在官方網站上找到

--

--

No responses yet