最近在寫laravel的時(shí)候遇到一個(gè)定時(shí)器的問題
手動的執(zhí)行 php /usr/share/nginx/html/mylaravel/artisan schedul:run 可以生效
但是寫在定時(shí)器中卻不執(zhí)行 * * * * * php /usr/share/nginx/html/mylaravel/artisan schedul:run
先看下代碼
/app/Console/Commands/test.php
1.設(shè)置 $signature 屬性
protected $signature = 'test:change';
2.handle 函數(shù)
public function handle()
{
//測試 寫入文件 路徑使用絕對路徑
$handle = fopen("/usr/share/nginx/html/mylaravel/public/xiazai/1.txt","a+");
fwrite($handle,"testbr/>");
fclose($handle);
}
/app/Console/Commands/Kernel.php
1. 設(shè)置$commands屬性
protected $commands = [
test::class,
];
2.schedule函數(shù)
protected function schedule(Schedule $schedule)
{
$schedule->command("test:change")->everyMinute();
}
原因:php的路徑并不識別 或者說 crontab 中使用的php的可執(zhí)行文件 和在腳本中執(zhí)行的php文件不一樣
執(zhí)行 whereis php
可以發(fā)現(xiàn) 當(dāng)前有不只一個(gè)的php執(zhí)行文件 發(fā)現(xiàn)自己在使用的php路徑之后 修改 crontab中的配置
crontab -e
* * * * * /usr/local/php7/bin/php /usr/share/nginx/html/mylaravel/artisan schedul:run
解決!
以上這篇laravel 解決crontab不執(zhí)行的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- django-crontab實(shí)現(xiàn)服務(wù)端的定時(shí)任務(wù)的示例代碼
- 詳解Linux下crontab的使用與注意事項(xiàng)
- linux 上在指定時(shí)間段內(nèi)每隔多少分鐘自動執(zhí)行任務(wù)計(jì)劃crontab
- centOS6中使用crontab定時(shí)運(yùn)行執(zhí)行jar程序的腳本
- crontab執(zhí)行結(jié)果未通過發(fā)送mail通知用戶的方法
- Django crontab定時(shí)任務(wù)模塊操作方法解析