我正在尝试设置一个Cron作业,该作业将在每分钟后运行并执行一些任务。我正在使用Laravel 5.5,我的网站托管在Godaddy上,共享主机方案。 首先,我在app / Console / Kernel.php文件中实现了schedule方法,如下所示:
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
$video = new Video;
$video->title = 'sample title';
$video->save();
})->everyMinute();
}
然后我在Godaddy cPanel部分的相关部分创建了一个Cron Job。本节如下所示:
我还设置了每次此任务运行时向我发送电子邮件但没有发生任何事情。没有电子邮件,视频表中没有新条目。虽然应用程序的其他部分配置正确并且工作正常。 据我所知,在php命令中给出了artisan文件的路径似乎有问题。我尝试了不同的组合,但没有运气。
答案 0 :(得分:2)
我已经解决了这个问题。问题出在命令中。首先,我必须在工匠文件的路径开始。其次,我必须输入php可执行文件的绝对路径。所以对我有用的最终命令是:
/usr/local/bin/php ~/public_html/fifa/artisan schedule:run >> /dev/null 2>&1
答案 1 :(得分:0)
我正在使用Laravel Forge,这对我有用:
php /home/forge/project_directory/artisan schedule:run
/ public_html / fifa是您项目的路径吗?尝试直接从项目目录中运行工匠:
php /path_to_project/artisan schedule:run