【问题标题】:Composer install gives Uncaught TypeError作曲家安装给出未捕获的类型错误
【发布时间】:2021-11-15 07:45:09
【问题描述】:

我正面临这个错误“未捕获的类型错误:参数 1 已传递给 Illuminate\Log\Logger ::__construct() 必须是 Psr\Log\LoggerInterface 的实例,Mono 的实例 给定日志\记录器," 当我运行 php artisan 命令时。我的 php 版本是 7.3.9

【问题讨论】:

  • 您找到解决此问题的方法了吗?现在遇到同样的问题

标签: php laravel


【解决方案1】:

我昨晚遇到了这个问题,最后尝试了 php 7.3 和 7.4,我只使用了最新的 php 8.1,这个问题就消失了。

【讨论】:

    【解决方案2】:

    您找到解决此问题的方法了吗?现在遇到同样的问题

    【讨论】:

      【解决方案3】:

      您可以尝试转到illuminate/log/Logger.php 并在文件开头添加use Monolog\Logger as Monolog;。之后,从这里更改构造函数:

          /**
           * Create a new log writer instance.
           *
           * @param  \Psr\Log\LoggerInterface  $logger
           * @param  \Illuminate\Contracts\Events\Dispatcher|null  $dispatcher
           * @return void
           */
          public function __construct(LoggerInterface $logger, Dispatcher $dispatcher = null)
          {
              $this->logger = $logger;
              $this->dispatcher = $dispatcher;
          }
      

      到这里:

          /**
           * Create a new log writer instance.
           *
           * @param  \Monolog\Logger  $logger
           * @param  \Illuminate\Contracts\Events\Dispatcher|null  $dispatcher
           * @return void
           */
          public function __construct(Monolog $logger, Dispatcher $dispatcher = null)
          {
              $this->logger = $logger;
              $this->dispatcher = $dispatcher;
          }
      

      【讨论】:

        猜你喜欢
        • 2016-10-08
        • 2018-08-15
        • 2013-09-07
        • 2017-06-02
        • 2016-05-20
        • 1970-01-01
        • 2016-02-14
        • 2015-07-26
        相关资源
        最近更新 更多