2017-02-04 2 views
1

wills, я в каталоге приложения (aka project). Файл ремесленник находится в директории, что я нахожусь вВ Laravel 5.3.30 команда artisan не работает

Далее ... если я запускаю следующую команду я получаю выход (список доступных команд):.

PHP список ремесленных

Но если я запускаю эту команду (намеренно оставляя требуемый аргумент), я не получаю ошибку, хотя я ожидал один:

PHP искусство ISAN марка: команда

artisan кажется, несчастлив в своей конфигурации, учитывая, что это целеустремленно неполные результаты команды в: не выход.

вещи я пытался

  • нет ничего в памяти/журналы/laravel.log
  • команда find -L ./ -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l | grep "Errors parsing" не обнаруживает ни одного файла, которые имеют синтаксические ошибки
  • composer update
  • composer install
  • php artisan optimize

Предлагаем решения, которые вызовут php artisan bad:command, чтобы жаловаться как следует.

+0

Контроллеры 'Http' предназначены только для http-запросов. Вы должны создать команду artisan с помощью 'signature', например' mycommand', затем добавить его в 'Kernel.php' и запустить с помощью' mypand' php artisan'. –

+0

Правильно, и все же make: команда не работает. – WEBjuju

+0

Трудно предложить решение, это не особенность. Это персональная отладка, которая должна использоваться. –

ответ

0

Первый. php artisan make:command Mycommand

Второй. nano app/Console/Commands/Mycommand.php и комплект protected $signature = 'mycommand';

В-третьих. Обозначьте свою логику в файле:

public function handle() 
{ 
    $this->info('place your logic here'); 
} 

Четвертый. Добавить команду app/Console/Kernel.php

protected $commands = [ 
    Commands\Mycommand::class 
]; 

Проверил: $ php artisan mycommand выходы place your logic here.

Расписание: Отредактируйте же Kernel.php файл

protected function schedule(Schedule $schedule) 
{ 
    $schedule->command('mycommand') 
      ->dailyAt('02:00') 
      ->appendOutputTo('./mycommand.log') 
      ->withoutOverlapping();; 
} 

Он работает, как ожидалось.

$ php artisan make:command   

    [Symfony\Component\Console\Exception\RuntimeException] 
    Not enough arguments (missing: "name"). 

$ php artisan --version    
Laravel Framework version 5.3.30 
+0

Дело в том, что с ремесленником что-то не так. Я целенаправленно оставляю имя команды, потому что это должно вызвать ошибку. Я только открыл это, потому что использование нужного аргумента имени команды не привело ни к чему, поэтому я удалил его как средство устранения неполадок и обнаружил, что ремесленник болен. Он должен пропустить ошибку. Что с этим не так? – WEBjuju

+0

btw i vi не nano лет. – WEBjuju

+0

Я обновил свой ответ. Мой ремесленник отвечает, как и ожидалось. Опубликуйте свои ответы. –

Смежные вопросы