Laravel 任务调度器 Crontab

5

我在使用Valet时无法在本地服务器上运行我的cron。以下是我的操作:

  1. 当我运行php artisan command:mycommand命令时,该命令会运行。
  2. 当我运行php artisan schedule:run命令时,该命令也会运行。

输出结果:

Running scheduled command: '/usr/local/Cellar/php70/7.0.13_6/bin/php' 'artisan' game:resources > '/dev/null' 2>&1 &

根据Laravel文档,它建议我将以下内容添加到我的crontab中。
* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1

在我的项目目录中,这是当前路径。

/Users/tjhillard/Projects/galaxywars

当我在laravel项目根目录下尝试使用crontab -e并保存以下内容时:

* * * * * php /Users/myusername/Projects/projectname schedule:run >> /dev/null 2>&1

...它无法正常工作。我尝试了几个变体,但都没有成功。你有什么想法我做错了什么吗?

我在使用Valet的macOS系统。

2个回答

11
你需要在路径末尾添加artisan。尝试:
* * * * * php /Users/myusername/Projects/projectname/artisan schedule:run >> /dev/null 2>&1

哈哈,其实在你发布这个之前的30秒我就发现了。 :P 不过你还是得到了选中标记。无论如何,非常感谢! - TJH

1

在10.13(High Sierra)下,唯一可用的命令是:

* * * * * /usr/local/bin/php /Users/USER_NAME/PROJECTS_PATH/PROJECT/artisan schedule:run >> /dev/null 2>&1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接