在laravel框架中 使用artisan 命令 没有反应 也不报错 是啥原因 是我配置的原因吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在laravel框架中 使用artisan 命令 没有反应 也不报错 是啥原因 是我配置的原因吗?相关的知识,希望对你有一定的参考价值。

输入

php artisan list

这个命令也没有输出任何内容吗?

再有,去storage/logs下看看日志,是不是有什么错误信息,如果的php.ini里配置的输出错误是关掉的,那么错误就只会输出到日志,不会输出在控制台

还可以尝试

composer dump-autoload -o

重建下composer的autoload

追问

我才发现 我输入任何命令都没反应 除非输入那种瞎写的东西 怎么回事 跟php有关吗 大神

参考技术A 我的用 php 7.3版本可以,用 php 7.4版本也是没有反应,你可以试下

在 Laravel artisan 命令中使用详细

【中文标题】在 Laravel artisan 命令中使用详细【英文标题】:Using verbose in Laravel artisan commands 【发布时间】:2015-02-21 01:19:54 【问题描述】:

有没有办法检测用户在创建自定义工匠命令时指定的详细级别?我在文档中没有看到任何关于它的内容。

【问题讨论】:

【参考方案1】:

您可以根据文档使用不同的详细程度:

https://laravel.com/api/6.x/Illuminate/Console/OutputStyle.html#method_isQuiet

isQuiet()       - no verbosity is set                                   (no option set)
isVerbose()     - if the level is quiet or verbose                      (-v)
isVeryVerbose() - if the level is very verbose, verbose or quiet        (-vv)
isDebug()       - if the level is debug, very verbose, verbose or quiet (-vvv)

例如在你的命令$this->getOutput()->isQuiet()

这也会影响writeLn()。如果您要编写 $this->line('Serious message', null, 'vv');,则该消息将出现在 -vv-vvv 选项中,但不会出现在 -v 和静默模式下,因为对于这些级别的日志记录来说“过于详细”。

【讨论】:

【参考方案2】:

Symfony\Component\Console\Output\OutputInterface 中有getVerbosity() 函数,您可以使用$this->getOutput() 检索输出对象。

$verbosityLevel = $this->getOutput()->getVerbosity();

然后您可以将级别与OutputInterface 中定义的常量进行比较。例如:

if($verbosityLevel >= OutputInterface::VERBOSITY_VERBOSE)
    // show verbose messages

【讨论】:

不错!我会试一试。我还发现 $this->option('verbose') 可以为您提供一个简单的布尔值。 (但是,它不包括 -v 与 -vvv) 酷不知道option('verbose') 你也可以使用$this->output->isVerbose()api.symfony.com/3.1/...。 isVerbose()-visVeryVerbose()-vvisDebug()-vvv 谢谢!我只是使用$isVerbose = $this->option("verbose");,它保持超级简单(只需在需要的地方检查一个布尔变量)。

以上是关于在laravel框架中 使用artisan 命令 没有反应 也不报错 是啥原因 是我配置的原因吗?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel自定义artisan命令在Sell中运行

Laravel 框架外的 Artisan::call()

Laravel 的Artisan 命令学习

在 Laravel artisan 命令中使用详细

用于清除 Laravel 中所有会话数据的 Artisan 命令

在 laravel 5 中运行 artisan 命令