最近在寫laravel的時候遇到一個定時器的問題
手動的執行 php /usr/share/nginx/html/mylaravel/artisan schedul:run 可以生效
但是寫在定時器中卻不執行 * * * * * php /usr/share/nginx/html/mylaravel/artisan schedul:run
先看下代碼
/app/Console/Commands/test.php
1.設置 $signature 屬性
protected $signature = 'test:change';
2.handle 函數
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. 設置$commands屬性
protected $commands = [
test::class,
];
2.schedule函數
protected function schedule(Schedule $schedule)
{
$schedule->command("test:change")->everyMinute();
}
原因:php的路徑并不識別 或者說 crontab 中使用的php的可執行文件 和在腳本中執行的php文件不一樣
執行 whereis php
可以發現 當前有不只一個的php執行文件 發現自己在使用的php路徑之后 修改 crontab中的配置

crontab -e
* * * * * /usr/local/php7/bin/php /usr/share/nginx/html/mylaravel/artisan schedul:run
解決!
以上這篇laravel 解決crontab不執行的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- django-crontab實現服務端的定時任務的示例代碼
- 詳解Linux下crontab的使用與注意事項
- linux 上在指定時間段內每隔多少分鐘自動執行任務計劃crontab
- centOS6中使用crontab定時運行執行jar程序的腳本
- crontab執行結果未通過發送mail通知用戶的方法
- Django crontab定時任務模塊操作方法解析