找不到Laravel 5.8自定义命令

时间:2019-10-25 13:53:29

标签: php laravel laravel-5.8 artisan

我使用工匠创建了一个自定义命令:

  

php artisan make:command resetNegotiations

比已删除的缓存具有:

  

php artisan cache:clear

但是,如果我尝试运行: php artisan ResetNegotiations ,则会收到错误消息:

  

未定义命令“ ResetNegotiations”。

ResetNegotiations.php 文件存在于 app / Console / Commands

我发现了类似的问题: -Command is not defined exception,但不是固定的。

我已经在app / Console / Kernel.php中将内核更新为https://laravel.com/docs/5.8/artisan#registering-commands,但是……什么也没有。重建缓存后也会出现相同的错误。

kernel.php

 ....
 protected $commands = [
    Commands\ResetNegotiations::class,
    //
];

我缺少什么?

这是命令:

<?php
  namespace App\Console\Commands;
  use Illuminate\Console\Command;

   class resetNegotiations extends Command{
/**
 * The name and signature of the console command.
 *
 * @var string
 */
protected $signature = 'command:name';

/**
 * The console command description.
 *
 * @var string
 */
protected $description = 'Command description';

/**
 * Create a new command instance.
 *
 * @return void
 */
public function __construct()
{
    parent::__construct();
}

/**
 * Execute the console command.
 *
 * @return mixed
 */
public function handle()
{
    //

    mail("######@#####.it", "Scheduledartsan ", "Command test");

}

}

1 个答案:

答案 0 :(得分:1)

protected $signature = 'command:name';是您在工匠中用来调用命令的内容。只需将签名更改为protected $signature = 'resetNegotiations';即可。您发布的工匠命令应在更改后起作用。