Artisan CronJob — в пространстве имен «xyz» нет команд

#php #laravel #laravel-4 #cron

#php #laravel #laravel-4 #cron

Вопрос:

У меня возникла немного странная проблема с командой artisan, которую я настроил.

Команда:

 cd /var/sites/p/mydomain.co.uk/public_html/ amp;amp; /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): SymfonyComponentConsoleApplication->findNamespace('property')
#1 /var/sites/p/mydomain.co.uk/public_html/vendor/symfony/console/Symfony/Component/Console/Application.php(188): SymfonyComponentConsoleApplication->find('property:import')
#2 /var/sites/p/mydomain.co.uk/public_html/vendor/symfony/console/Symfony/Component/Console/Application.php(121): SymfonyComponentConsoleApplication->doRun(Object(SymfonyComponentConsoleInputArgvInput), Object(SymfonyComponentConsoleOutputConsoleOutput))
#3 /var/sites/p/mydomain.co.uk/public_html/artisan(58): SymfonyComponentConsoleApplication->run()
#4 {main} [] []
  

Я довольно застрял и понятия не имею, почему пространство имен «property» не будет найдено при запуске как cron. При запуске точно такой же команды через ssh она работает отлично, при запуске на локальном компьютере она работает отлично.

Есть ли что-нибудь в artisan, из-за чего он не загружает app/start/artisan.php файл при запуске как cronjob вообще?

Любая помощь будет принята с благодарностью. Если вам нужны дополнительные подробности, дайте мне знать, и я предоставлю все, что смогу.

Спасибо,

Джо

Ответ №1:

После долгих проверок и разговоров с хостинг-провайдером выяснилось, что running /usr/bin/php-5.4 запускал cgi-версию php, изменив это на /usr/bin/php-5.4-cli исправленную проблему.

Это, конечно, очень зависит от настроек вашего хостинг-провайдера.