我正在尝试设置一个Cron作业,它将在每分钟运行一次并执行一些任务。我使用的是Laravel 5.5,我的网站是通过共享托管计划托管在Godaddy上的。首先,我在app/Console/Kernel.php文件中实现了调度方法,如下所示:
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
$video = new Video;
$video->title = 'sample title';
$video->save();
})->everyMinute();
}
然后,我已经创建了一个Cron作业在相关的部分,从谷歌爸爸cPanel部分。此部分如下所示:
我还设置为每次运行此任务时发送电子邮件给我,但没有发生任何事情。没有电子邮件,在视频表中没有新的条目。尽管应用程序的其他部分配置正确且工作正常。据我所知,php命令中给出的artisan文件的路径似乎有问题。我尝试了不同的组合,但没有成功。
发布于 2018-04-08 02:48:10
我已经解决了这个问题。问题出在命令上。首先,我必须将~放在artisan文件路径的开头。其次,我必须输入php可执行文件的绝对路径。所以对我有效的最后一个命令是:
/usr/local/bin/php ~/public_html/fifa/artisan schedule:run >> /dev/null 2>&1
发布于 2018-04-08 00:26:47
我正在使用Laravel Forge,这对我很有效:
php /home/forge/project_directory/artisan schedule:run
/public_html/fifa是您的项目的路径吗?尝试直接从项目目录运行artisan:
php /path_to_project/artisan schedule:run
https://stackoverflow.com/questions/49709221
复制相似问题