簡單介紹 Laravel Valet 如何安裝與使用

2021_10_27_23_05_03_61796a9f9705d.png

Valet 是一個輕量級的 Laravel 開發環境,目前僅支援 Mac OS,不過也有神人做出可以在 Windows 還有 Linux 上運行的 Valet。

Valet 需透過 Composer 安裝,而 Valet 需要的套件會使用 Homebrew 來安裝。
安裝好 Composer 與 Homebrew 之後,只需要簡單一行指令。

composer global require laravel/valet

安裝好了之後,再下一行指令就可以安裝成功。

valet install

安裝過程中 Valet 會使用 Homebrew 安裝其他需要的套件,如 php、dnsmasq、nginx。
安裝完成之後,Valet 就會自動啟動並在後台執行。

如果要停止執行,輸入指令。

valet stop

執行 Valet,輸入指令。

valet start

順帶一提,Valet 關閉的時候只會關閉 php 與 nginx,dnsmasq 並不會關閉,可以從 github 上面的 source code (valet/cli/valet.php)看到這一段。

/**
* Stop the daemon services.
*/
$app->command('stop [service]', function ($service) {
    switch ($service) {
        case '':
            PhpFpm::stopRunning();
            Nginx::stop();

            return info('Valet services have been stopped.');
        case 'nginx':
            Nginx::stop();

            return info('Nginx has been stopped.');
        case 'php':
            PhpFpm::stopRunning();

            return info('PHP has been stopped.');
    }

    return warning(sprintf('Invalid valet service name [%s]', $service));
})->descriptions('Stop the Valet services');

若想關閉 dnsmasq,需要下指令才能關閉。

sudo brew services stop dnsmasq

Valet 的運作原理可以參考此篇文章了解其運作原理。

待一切就緒後,接下來如何使用 Valet 呢?首先進入你自己存放 Laravel 專案的資料夾。
例如專案都是放在 ~/code/laravel/ 資料夾底下。

cd ~/code/laravel

然後輸入指令。

valet park

這時 ~/code/laravel/ 資料夾底下所有的 Laravel 專案資料夾,都能透過 “ 資料夾名稱.test ”的網址,在本地進行訪問,例如你有一個 Laravel 專案資料夾名為 blog,此時你打開瀏覽器輸入 blog.test,你就可以看到網頁上出現 Laravel 網頁的內容,是不是很方便呢?

指令介紹


  • valet park:將現在目錄加入「駐留」目錄,底下專案都能網路訪問
  • valet link:將現在目錄連結到 valet 的「駐留」目錄
  • valet forget:從一個「駐留」目錄運行此命令,從駐留目錄列表將其它移除
  • valet log:從 valet 的服務中查看日誌
  • valet paths:查看所有「駐留」路徑
  • valet restart:重啟 valet 守護進程
  • valet start:開啟 valet 守護進程
  • valet stop:停止 valet 守護進程
  • valet trust:將 brew 和 valet 加入 sudouser.d,使 valet 輸入命令的時候不需要輸入密碼,可以加上 --off 取消
  • valet uninstall:完成卸載 valet 守護進程

特殊小技巧


如果你想要使用比較正式的頂級域名,如 .com.net。

如果使用 valet domain 這個指令去更改預設域名為 .com,很有可能會導致正常的網站無法瀏覽(畢竟一堆網站域名都有使用 .com),如果只想要某一個專案使用 .com 域名,可以參考此篇文章

首先修改 /etc/host 檔案,將想要使用的域名指向本地 IP。

sudo echo '127.0.0.1 blog.com' >> /etc/hosts

再來是在 Valet 的駐留目錄中,設定該專案的軟連結。

ln -s blog blog.com

影片介紹


sharkHead
written by
sharkHead

後端工程師, PHP 基金會每月 5 鎂小額贊助人 稍微擅長 PHP、Python 與 Google Search,偶爾寫寫 TypeScript 對於逗號後面必須加空格有著絕對的堅持