Php 我如何在拉维尔的cronjob上运行播种机?

Php 我如何在拉维尔的cronjob上运行播种机?,php,laravel,cron,laravel-seeding,laravel-jobs,Php,Laravel,Cron,Laravel Seeding,Laravel Jobs,我需要运行一个播种机,它需要一段时间来执行(如五分钟)。但我在crontab中设置为: 0 0 * * * php /var/www/.../api/artisan db:seed --class=ApiPlayerStatisticsSeeder 而且它不是自己运行的。看起来它需要一个用户来执行。那么,我如何在后台运行这个播种机呢 我试着制作一个comand并像内核文件()中的任务一样在Background中运行,但它也不起作用。在cronjob上,首先将cd放入应用程序目录,然后调用art

我需要运行一个播种机,它需要一段时间来执行(如五分钟)。但我在crontab中设置为:

0 0 * * * php /var/www/.../api/artisan db:seed --class=ApiPlayerStatisticsSeeder
而且它不是自己运行的。看起来它需要一个用户来执行。那么,我如何在后台运行这个播种机呢


我试着制作一个comand并像内核文件()中的任务一样在Background中运行,但它也不起作用。

在cronjob上,首先将cd放入应用程序目录,然后调用artisan命令。像这样:

0 0 * * * cd /path/to/app && php artisan db:seed --class=ApiPlayerStatisticsSeeder

让我知道它是否有效。

我每天使用laravel命令调度。我将演示如何在明细表中插入命令

$schedule->exec('php artisan command:here --flags 4434 --params 32')
    ->weeklyOn(3,'9:30');
命令:这里是您为完成任务而编写的任何命令。“flags”或“params”也一样,如果您不需要它们或不设置它们,那么就不要使用它们


weeklyOn可以更改为hourly()、everyfiveminutes()、monthly()、quarterly等。请检查文档中的语法

您必须将cd放入应用程序目录并调用php的正确路径,然后使用artisan命令。看一看。看看是否有帮助。谢谢@LucasArbex,但这并不重要,因为我正在执行项目的artisan文件,带有“php/var/www/../api/artisan”。对artisan来说,这似乎是一条奇怪的路径。但只需尝试将cd放入应用程序的目录中,然后运行artisan命令,查看是否有效。。。就像我在回答中提到的。。