我使用工匠创建了一个自定义命令:
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");
}
}
答案 0 :(得分:1)
protected $signature = 'command:name';
是您在工匠中用来调用命令的内容。只需将签名更改为protected $signature = 'resetNegotiations';
即可。您发布的工匠命令应在更改后起作用。