我创建了一个名为confirmUserCommand
的自定义命令,其文件名与类名匹配(相同的情况)。 $ name设置为confirmuser
。
运行命令php artisan list
会在我的本地显示新命令,但不会在服务器(运行linux)上显示。我确实执行了一个composer dump-autoload并更新了相关的作曲家文件无济于事。
有什么建议吗?
答案 0 :(得分:16)
Laravel 5.2~5.5:
创建你的命令&修改
protected $signature = 'order:check'; //or whatever you want your command to be
您必须找到创建命令的位置&编辑app\Console\kernel.php
文件。
文件中
protected $commands = [
\App\Console\Commands\OrderCheck::class,
]
再次跑步
php artisan list
应该在那里列出:)
答案 1 :(得分:1)
撕掉我的头发,发现问题..
为了列出包括自定义命令在内的工匠命令,您必须调用系统PHP CLI Intepreter,特别是PHP调用。
php artisan list
:将按预期列出所有命令,但不会列出您创建的自定义命令
php-cli artisan list
:这将列出所有命令,包括创建的自定义命令
希望这可以帮助某人并保存他们的头发:)
答案 2 :(得分:0)
从laravel 5.6版开始,您无需在kernel.php中输入自定义命令。
答案 3 :(得分:-1)
为了使它出现在php artisan列表中,你需要将它添加到app / http / Kernel.php文件中,具体在命令数组中:
protected $commands = [
'App\Console\CreateSlugsCommand',....
];
执行此操作后,您可以在控制台php artisan list
中运行,您将看到自定义命令。