1. 程式人生 > 程式設計 >php中laravel排程執行錯誤解決方法

php中laravel排程執行錯誤解決方法

我們說laravel框架的功能性比較明確,作為全棧框架在程式碼的執行上是比較簡潔的。在對laravel框架安裝完成後,我們可以就其中的一些操作為大家展現。本篇要帶來的是在laravel中的排程,分為兩種不同目錄的情況討論,同時把可能在排程中會出現的錯誤情況,單獨為大家呈現並解決。

1、不在laravel根目錄(命令列操作前的地址)

php /www/wwwroot/laravel6/artisan schedule:run

/www/wwwroot/laravel/artisan 解釋

/www/wwwroot/laravel6/ 為指定到laravel根目錄的路徑

artisan 為laravel自帶的命令列工具

2、在laravel目錄下(命令列操作前的地址)

php artisan schedule:run

因為命令此時本身就已將和artisan同目錄,所以不需要再去指定artisan位置(指定也可以),直接執行上方命令即可。

3、laravel排程任務沒有執行的問題

排程任務命令如下:

$schedule->command('emails:send')->withoutOverlapping();

說明:

withoutOverlapping 這個命令的作用就是當一個程序還沒跑完,不會開啟新的程序。其機制就是開啟明亮的時候會在專案的storage/framework/cache目錄中新增一個檔案,如果程序卡住或者未進行完成的時候,這個檔案就會陷入死迴圈,一直執行該程序,等到程序執行完畢之後,會刪除相對應的快取檔案,開始下一個程序。

簡單理解就是加上withoutOverlapping 會引起阻塞,只有完成的任務才會繼續下面的程序。

內容擴充套件:

解決Laravel 任務排程不執行問題

如果你按照官方手冊上的配置:

* * * * * php /path/to/artisan schedule:run 1>> /dev/null 2>&1

發現任務沒有按照預期的執行,可能是你環境變數問題,

按照下面的修改你的Cron任務配置即可;

* * * * * cd /path/to && /usr/local/bin/php artisan schedule:run >> /dev/null 2>&1

其中 /usr/local/bin/php 是你PHP的絕對路徑。

到此這篇關於php中laravel排程執行錯誤解決方法的文章就介紹到這了,更多相關php之laravel排程執行及出錯解決內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!