我們說(shuō)laravel框架的功能性比較明確,作為全??蚣茉诖a的運(yùn)行上是比較簡(jiǎn)潔的。在對(duì)laravel框架安裝完成后,我們可以就其中的一些操作為大家展現(xiàn)。本篇要帶來(lái)的是在laravel中的調(diào)度,分為兩種不同目錄的情況討論,同時(shí)把可能在調(diào)度中會(huì)出現(xiàn)的錯(cuò)誤情況,單獨(dú)為大家呈現(xiàn)并解決。
1、不在laravel根目錄(命令行操作前的地址)
php /www/wwwroot/laravel6/artisan schedule:run
/www/wwwroot/laravel/artisan 解釋
/www/wwwroot/laravel6/ 為指定到laravel根目錄的路徑
artisan 為laravel自帶的命令行工具
2、在laravel目錄下(命令行操作前的地址)
因?yàn)槊畲藭r(shí)本身就已將和artisan同目錄,所以不需要再去指定artisan位置(指定也可以),直接運(yùn)行上方命令即可。
3、laravel調(diào)度任務(wù)沒有執(zhí)行的問(wèn)題
調(diào)度任務(wù)命令如下:
$schedule->command('emails:send')->withoutOverlapping();
說(shuō)明:
withoutOverlapping 這個(gè)命令的作用就是當(dāng)一個(gè)進(jìn)程還沒跑完,不會(huì)開啟新的進(jìn)程。其機(jī)制就是開啟明亮的時(shí)候會(huì)在項(xiàng)目的storage/framework/cache目錄中添加一個(gè)文件,如果進(jìn)程卡住或者未進(jìn)行完成的時(shí)候,這個(gè)文件就會(huì)陷入死循環(huán),一直執(zhí)行該進(jìn)程,等到進(jìn)程執(zhí)行完畢之后,會(huì)刪除相對(duì)應(yīng)的緩存文件,開始下一個(gè)進(jìn)程。
簡(jiǎn)單理解就是加上withoutOverlapping 會(huì)引起阻塞,只有完成的任務(wù)才會(huì)繼續(xù)下面的進(jìn)程。
內(nèi)容擴(kuò)展:
解決Laravel 任務(wù)調(diào)度不執(zhí)行問(wèn)題
如果你按照官方手冊(cè)上的配置:
* * * * * php /path/to/artisan schedule:run 1>> /dev/null 2>1
發(fā)現(xiàn)任務(wù)沒有按照預(yù)期的執(zhí)行,可能是你環(huán)境變量問(wèn)題,
按照下面的修改你的Cron任務(wù)配置即可;
* * * * * cd /path/to /usr/local/bin/php artisan schedule:run >> /dev/null 2>1
其中 /usr/local/bin/php 是你PHP的絕對(duì)路徑。
到此這篇關(guān)于php中l(wèi)aravel調(diào)度執(zhí)行錯(cuò)誤解決方法的文章就介紹到這了,更多相關(guān)php之laravel調(diào)度執(zhí)行及出錯(cuò)解決內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- PHP全局使用Laravel輔助函數(shù)dd
- php+laravel依賴注入知識(shí)點(diǎn)總結(jié)
- 淺談laravel框架與thinkPHP框架的區(qū)別
- PHP Laravel中的Trait使用方法