laravel7 開發的專案配置到虛擬主機上

czd1947發表於2021-01-20

起因: 之前做的一個專案需要配置到虛擬主機上.

(本人之前都是直接放到ecs例項上的, 純系統安裝寶塔搞定就基本ok了. ^_^)

環境 : 雲虛擬主機 ,php7.2 mysql nginx 這些都是配置好的.

虛擬主機網站根目錄是固定的,我們沒法通過nginx的配置檔案修改網站繫結的站點根目錄

偽靜態配置: (谷歌出來的)
laravel7 開發的專案配置到虛擬主機上

修改專案的訪問目錄:
改之前的目錄: (預設專案的初始訪問檔案都是放在public/index.php下)

laravel7 開發的專案配置到虛擬主機上

更改目錄:
1.先把除了public目錄外的所有檔案都放到local目錄(local是我新建的一個資料夾)下.
2.在把public目錄下的所有檔案都放到站點根目錄. 這樣index.php就能訪問到了.
3.修改index.php ,如下圖:

laravel7 開發的專案配置到虛擬主機上

要注意: 此時的public_path() 函式對應的目錄位置 : 站點根目錄/local/public ; 其它的助手目錄函式
都會發生類似的變化.

問題: 當我登入laravel-admin的後臺, 發現所有的檔案上傳都儲存不了. 報錯資訊:

laravel7 開發的專案配置到虛擬主機上
谷歌問題找到答案:
虛擬主機預設沒有開啟php的 chmod函式. 開啟後檔案儲存成功
laravel7 開發的專案配置到虛擬主機上

總結:

  1. 在沒法修改虛擬主機站點根目錄的情況下, 需要修改laravel的目錄結構.
  2. 偽靜態可以通過nginx設定去配置
  3. chmod等函式,虛擬主機是預設關閉的,需要手動開啟.

重點: 遇到報錯的時候,先檢視錯誤日誌. 通過錯誤日誌給出的錯誤資訊再去分析會比較簡單點.

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章