Laravel 4 通过Cronjob发出运行Artisan命令

Laravel 4 通过Cronjob发出运行Artisan命令,laravel-4,cron,crontab,Laravel 4,Cron,Crontab,让crontab/cronjob运行Artisan命令让我有点噩梦 我有另一个Artisan命令通过cronjob运行没有问题,但是第二个命令不会运行 首先,当我执行“crontab-e”并编辑文件以包含: 0 0 * * * /usr/local/bin/php /home/purple/public_html/artisan feeds:send cronjob根本不运行 如果我转到cPanel并在那里添加cronjob,它将运行,但我收到以下错误: open(public/downlo

让crontab/cronjob运行Artisan命令让我有点噩梦

我有另一个Artisan命令通过cronjob运行没有问题,但是第二个命令不会运行

首先,当我执行“crontab-e”并编辑文件以包含:

0 0 * * * /usr/local/bin/php  /home/purple/public_html/artisan feeds:send
cronjob根本不运行

如果我转到cPanel并在那里添加cronjob,它将运行,但我收到以下错误:

open(public/downloads/feeds/events.csv): failed to open stream: No such file or directory
 There are no commands defined in the "feeds" namespace.
问题是文件存在并且目录具有正确的权限。如果我在以root用户或purple用户身份通过SSH登录时运行该命令(php artisan feeds:send),那么该命令将完美地运行并完成其任务,没有问题

如果在cPanel中,我编辑cronjob以使用:

0 0 * * * php  /home/purple/public_html/artisan feeds:send
我收到以下错误:

open(public/downloads/feeds/events.csv): failed to open stream: No such file or directory
 There are no commands defined in the "feeds" namespace.
有趣的是,我的另一个命令注册在crontab文件中,可以正常工作,在cPanel中根本没有引用

任何帮助都将不胜感激。为了简单起见,我包含了命令和命令使用的模型

Feed.php模型:

DataFeedController.php控制器:

SendFeeds.php命令:

start/artisan.php:

FeedInterface.php接口:


正如您所看到的,有一个GetRates命令,它可以工作。

在运行该命令之前,我似乎必须先将cd插入脚本目录,现在在完成该命令之后,它才有意义。当你知道怎么做的时候很容易啊

* * * * * cd /home/purple/public_html/ && /usr/local/bin/php artisan feeds:send