簡體   English   中英

服務器中的 Laravel cronjob 無法運行

[英]Laravel cronjob in server won't run

我在我網站的子域上安裝了我的 Laravel 應用程序,並且我已經設置了 cronjob 但它沒有觸發。

我已經通過終端測試了我的命令並且它的發射很好,所以我猜問題全在於 cronjob 而不是我的命令/控制台。

代碼

Does not work

1- /home/example.com/public_html/process.example.com && php artisan schedule:run >> /dev/null 2>&1

2- php /home/example.com/public_html/process.example.com && php artisan schedule:run >> /dev/null 2>&1

kernel.php

protected $commands = [
    Commands\RenewInvoices::class,
];

protected function schedule(Schedule $schedule)
{
  $schedule->command('renew:invoices')
  ->everyMinute();
}

任何的想法?

解決了

顯然我不得不從其他地方獲取我的 php /usr/local/lsws/lsphp74/bin/php而不是/usr/bin/php

/usr/local/lsws/lsphp74/bin/php /home/example.com/public_html/process.example.com && /usr/local/lsws/lsphp74/bin/php /home/example.com/public_html/process.example.com/artisan schedule:run >> /dev/null 2>&1

為了簡化上面的命令並使其易於閱讀,它的結構是:

PHP LARAVEL_APP && PHP ARTISAN COMMAND >> /dev/null 2>&1

Cronjobs 在運行時會忽略 PATH,因此如果 PATH 信息不完全可用,它可能無法工作。

請嘗試修改 cronjob 以便使用完整路徑

例如,將“php”更改為“/usr/bin/php”(請使用您服務器中php的實際路徑)

 /home/example.com/public_html/process.example.com && /usr/bin/php artisan schedule:run >> /dev/null 2>&1

/usr/bin/php /home/example.com/public_html/process.example.com && /usr/bin/php artisan schedule:run >> /dev/null 2>&1

還請包括工匠的完整路徑。 謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM