php Laravel Cron Job not working on AWS lightsail LAMP

uqxowvwt  于 2023-11-05  发布在  PHP
关注(0)|答案(2)|浏览(97)

我的应用程序使用Laravel 7和AWS lightsail LAMP服务器。

当我运行这个

php artisan schedule:run

手动命令,它工作正常。但是,当我为此创建一个cron作业时,它不起作用。
下面是我的cron代码laravel documention

* * * * * cd /opt/bitnami/apache/htdocs && php artisan schedule:run >> /dev/null 2>&1

我的app/Console/Karnel.php

<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
        Commands\DeactiveCoupon::class
    ];

    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
         $schedule->command('coupon:deactive')->everyMinute();
         $schedule->command('queue:restart')->everyMinute();
         $schedule->command('queue:work')->everyMinute();
    }

    /**
     * Register the commands for the application.
     *
     * @return void
     */
    protected function commands()
    {
        $this->load(__DIR__.'/Commands');

        require base_path('routes/console.php');
    }
}

但是,如果我添加这个cron:

* * * * * cd /opt/bitnami/apache/htdocs && touch mytestfile.txt >> /dev/null 2>&1

它正在创建一个名为mytestfile.txt的新文件

但是,这个Laravel命令在cron中不工作!

* * * * * cd /opt/bitnami/apache/htdocs && php artisan schedule:run >> /dev/null 2>&1

如何解决这个问题?

odopli94

odopli941#

我跑完之后
which php我得到了/opt/bitnami/php/bin/php
我的cron代码是:
* * * * * cd /opt/bitnami/apache/htdocs && /opt/bitnami/php/bin/php artisan schedule:run >> /dev/null 2>&1

这是为我工作谢谢@apokryfos兄弟

qcbq4gxm

qcbq4gxm2#

是的,在live服务器上,您可以通过cron job x1c 0d1x注册它
然后你可以在cron job中注册你的命令。你可以向你的服务器提供商询问这个命令,然后像这样注册

/usr/local/bin/php /home/escuelar/your folder name/artisan schedule:run 1>> /dev/null 2>&1

相关问题