laravel 自定义命令未列出
Posted
技术标签:
【中文标题】laravel 自定义命令未列出【英文标题】:laravel custom command not listed 【发布时间】:2015-04-06 22:45:02 【问题描述】:我创建了一个名为confirmUserCommand
的自定义命令,其文件名与类名匹配(相同的情况)。 $name 设置为confirmuser
。
运行命令php artisan list
会在我的本地显示新命令,而不是在服务器(运行 linux)上。我确实执行了作曲家转储自动加载并更新了相关的作曲家文件,但无济于事。
有什么建议吗?
【问题讨论】:
查看我在这个问题中的回答:***.com/a/35247944/241279 也许有帮助。 【参考方案1】:在较新版本的 Laravel 中,不再需要注册命令,只需确保控制台命令类名与托管它的文件相同。
App/Console/Commands/MyCommand.php -> 类 MyCommand ...
【讨论】:
【参考方案2】:从 laravel 5.6 版开始,您无需在 app\Console\kernel.php
中输入自定义命令
【讨论】:
【参考方案3】:为了使其出现在 php artisan 列表中,您需要将其添加到 App/http/Kernel.php 文件中,特别是在 commands 数组中:
protected $commands = [
'App\Console\CreateSlugsCommand',....
];
完成此操作后,您可以在控制台php artisan list
中运行,您将看到自定义命令。
【讨论】:
【参考方案4】: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
它应该在那里列出:)
【讨论】:
我不明白为什么它在 Laravel 手册中的指向不同。谢谢!【参考方案5】:把我的头发扯下来发现了问题..
为了列出包括自定义命令在内的工匠命令,您必须调用系统 PHP CLI Intepreter 特别是 PHP 调用。
php artisan list
:将按预期列出所有命令,但不会列出您创建的自定义命令
php-cli artisan list
:这将列出所有命令,包括创建的自定义命令
希望这可以帮助某人并节省他们的头发:)
【讨论】:
以上是关于laravel 自定义命令未列出的主要内容,如果未能解决你的问题,请参考以下文章
laravel 自定义命令生成 servicerepository层
laravel 自定义命令生成 servicerepository层
自定义 laravel 迁移命令“[Illuminate\Database\Migrations\MigrationRepositoryInterface] 不可实例化”