Artisan CronJob - “xyz”命名空间中没有定义命令

时间:2014-06-18 08:54:02

标签: php laravel laravel-4 cron

我设置的工匠命令有点奇怪的问题。

命令是:

cd /var/sites/p/mydomain.co.uk/public_html/ && /usr/bin/php-5.4 artisan property:import

此命令在通过ssh或本地计算机运行时运行良好,但在设置为CronJob时无法运行,并在Laravel日志文件中返回以下错误。

[2014-06-17 13:50:06] production.ERROR: exception 'InvalidArgumentException' with message 'There are no commands defined in the "property" namespace.' in /var/sites/p/mydomain.co.uk/public_html/vendor/symfony/console/Symfony/Component/Console/Application.php:514

Stack trace:
#0 /var/sites/p/mydomain.co.uk/public_html/vendor/symfony/console/Symfony/Component/Console/Application.php(548): Symfony\Component\Console\Application->findNamespace('property')
#1 /var/sites/p/mydomain.co.uk/public_html/vendor/symfony/console/Symfony/Component/Console/Application.php(188): Symfony\Component\Console\Application->find('property:import')
#2 /var/sites/p/mydomain.co.uk/public_html/vendor/symfony/console/Symfony/Component/Console/Application.php(121): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 /var/sites/p/mydomain.co.uk/public_html/artisan(58): Symfony\Component\Console\Application->run()
#4 {main} [] []

我很困惑,不知道为什么在作为cron运行时找不到“属性”命名空间。当通过ssh运行完全相同的命令时,它完美地工作,当在本地机器上运行时,它完美地工作。

在工匠作为cronjob运行时,是否有任何工具导致它无法加载 app / start / artisan.php 文件?

非常感谢任何帮助。如果您需要任何进一步的细节,请告诉我,我会尽我所能。

谢谢,

1 个答案:

答案 0 :(得分:4)

经过长时间检查并与托管服务提供商交谈后,发现运行/usr/bin/php-5.4正在运行php的cgi版本,将其更改为/usr/bin/php-5.4-cli解决了问题。

这当然非常取决于您的托管服务提供商设置。