Laravel 服务器中的 cronjob 不会 运行

Laravel cronjob in server won't run

我在我网站的子域上安装了我的 laravel 应用程序,我已经设置了 cronjob 但它没有触发。

我已经通过终端测试了我的命令并且它的触发很好所以问题是关于 cronjob 而不是我的 command/console 我猜。

代码

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();
}

有什么想法吗?

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

还请包括 artisan 的完整路径。谢谢

已解决

显然我必须从其他地方 /usr/local/lsws/lsphp74/bin/php 而不是 /usr/bin/php

得到我的 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