Laravel 4 - 共享托管cron作业中的命令

时间:2015-02-18 18:43:33

标签: laravel cron command

我使用

开发了一个简单的新命令
php artisan command:make MyCommand

之后,我以这种方式在app / start / artisan.php中注册了

Artisan::add('MyCommand');

通过

在本地调用命令没问题
php artisan command:MyCommand

但是当我尝试使用cron作业调用命令时出错 cron工作以这种方式完成

/usr/bin/php -c /usr/local/apache/conf/userdata/std/2/dferdinw/php.ini /home2/dferdinw/public_html/ff4b/artisan command:MyCommand

但我收到此错误

[InvalidArgumentException] 
Command "command:MyCommand" is not defined. 
Did you mean this? 
command:make 

任何想法???

1 个答案:

答案 0 :(得分:1)

<强>更新

如果这在本地工作而不在您的服务器上,请检查您的服务器上是否更新了文件。


似乎它是否可以从命令行工作,它应该来自Cron。尝试添加

echo __DIR__; 

到fire方法并再次手动运行它确认你有正确的DIR。

如果它无法从命令行运行,请确保通过更改

命名命令
protected $name = 'command:MyCommand';

发电机不会为您填写此信息。

也可以尝试

Artisan::add(new MyCommand);

然后运行

php artisan dump-autoload

为了你的cron求职尝试

cd /home2/dferdinw/public_html/ff4b/; php artisan command:MyCommand;