Laravel 專案從 GitHub clone 下來後要做什麼?
筆者不小心把專案搞壞了,於是把整個目錄砍掉重新從 GitHub clone 下來。
由於維護和安全性等考量,Laravel 預設有 .gitignore,有些檔案並沒有 push 到 GitHub。
專案 clone 之後必須要「重建」才能正常執行。
重建步驟
以下是幾個簡單的重建步驟:
1. 安裝依賴套件
到專案目錄執行以下指令,將框架所需的相依套件安裝完成:
$ composer install
2. 設定 .env 檔
將 .env.example 複製成 .env。
如果先前沒有花時間維護 .env.example,記得要修改裡面的內容,
如資料庫的相關參數DB_DATABASE=
、DB_USERNAME
和DB_PASSWORD
。
3. 設定加密的 APP_KEY
執行以下指令,Laravel 就會自動在 .env 設定新的 APP_KEY
$ php artisan key:generate
4. 設定好你的資料庫
例如建立 SQLite 在 Laravel 的預設位置
$ touch database/database.sqlite
或是建立 MySQL 的所需資料庫
$ mysql -uroot -p
mysql> CREATE DATABASE your_database_name;
5. Migration 和 Seeding
將資料表結構建立起來
$ php artisan migrate
若專案有定義 seed,透過以下指令將資料填充至資料庫
$ php artisan db:seed
以上兩行指令也可以合併成這樣
$ php artisan migrate --seed
6. 建立符號連結
若你有使用到 public storage(如:Storage::disk('public')
),
記得使用以下指令,將 storage
軟連結到 storage/app/public
$ php artisan storage:link
7. 設定伺服器
例如到 NGINX 新增、調整 conf 檔
8. 設定任務排程
如果有在 Laravel 中定義排程的任務,
記得在 crontab 中增加 Laravel 指令排程器
# 在 crontab -e 中
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
故障排除
如果你在使用valet
或是php artisan serve
等伺服器的時候遇到以下錯誤:
The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths.
就有可能是上面的動作沒有做完前就先運行 Laravel。
請做完以上重建步驟後,直接重開伺服器即可。
如果還是停在相同錯誤
請先清除設定檔快取後重開 Laravel。清除快取指令為:
$ php artisan config:clear
參考資料