1. 程式人生 > >laravel crontab不執行的問題

laravel crontab不執行的問題

最近在寫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,"test<br/>"); 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

解決