【问题标题】:laravel custom command not listedlaravel 自定义命令未列出
【发布时间】:2015-04-06 22:45:02
【问题描述】:

我创建了一个名为confirmUserCommand 的自定义命令,其文件名与类名匹配(相同的情况)。 $name 设置为confirmuser。

运行命令php artisan list 会在我的本地显示新命令,而不是在服务器(运行 linux)上。我确实执行了作曲家转储自动加载并更新了相关的作曲家文件,但无济于事。

有什么建议吗?

【问题讨论】:

标签: php laravel laravel-artisan


【解决方案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 :这将列出所有命令,包括创建的自定义命令

        希望这可以帮助某人并节省他们的头发:)

        【讨论】:

          猜你喜欢
          • 2019-09-19
          • 2020-02-21
          • 2015-05-29
          • 2021-12-29
          • 1970-01-01
          • 2016-07-16
          • 2016-09-21
          • 1970-01-01
          • 2020-09-20
          相关资源
          最近更新 更多