解決 Laravel 每日建立分隔 log 檔案,出現權限 Permission Deny 問題

如果設定排程執行 php artisan

預設會使用 root 來執行,就會導致產生的 log 檔案會有權限問題。

解決方式,首先關閉 root 產生的排程,開啟排程檔案將執行的程式先註解

crontab -e

接著,用 www-data 身份來設定排程

crontab -u www-data -e

例如,以下設定每三十分鐘執行

30 * * * * php /var/www/html/artisan course:create >> /dev/null 2>&1

以上設定完畢後,先刪掉今天產生的 storage/log/ log 檔案,

將 crontab 排程時間先調整為 1 分鐘,看看是否能正常運作。