如何修复Laravel上的错误“Undefined array key 1”

nkkqxpd9  于 2022-11-18  发布在  其他
关注(0)|答案(2)|浏览(639)

运行php artisan serve命令时,出现以下错误

PHP 8.1.5
Composer version 2.4.2
Laravel Framework 9.31.0

   WARN  [F.

   ErrorException

  Undefined array key 1

  at C:\OpenServer\domains\chorva\vendor\laravel\framework\src\Illuminate\Foundation\Console\ServeCommand.php:308
    304▕             : '/^\[([^\]]+)\]/';
    305▕
    306▕         preg_match($regex, $line, $matches);
    307▕
  ➜ 308▕         return Carbon::createFromFormat('D M d H:i:s Y', $matches[1]);
    309▕     }
    310▕
    311▕     /**
    312▕      * Get the request port from the given PHP server output.

  1   C:\OpenServer\domains\chorva\vendor\laravel\framework\src\Illuminate\Foundation\Console\ServeCommand.php:308
      Illuminate\Foundation\Bootstrap\HandleExceptions::Illuminate\Foundation\Bootstrap\{closure}()

  2   C:\OpenServer\domains\chorva\vendor\laravel\framework\src\Illuminate\Foundation\Console\ServeCommand.php:254
      Illuminate\Foundation\Console\ServeCommand::getDateFromLine()
mqkwyuun

mqkwyuun1#

就在4天前,Laravel核心中的此文件发生了更改。我怀疑您在这方面遇到了问题。
https://github.com/laravel/framework/commit/f40fe7d303544a66f7bcbee8e25c96c743d64d1a
我会试着把Laravel版本降级一点,看看它是否解决了你的问题。如果解决了,你应该在Laravel github页面上打开一个问题。

vsaztqbk

vsaztqbk2#

更新ServerCommand.php中的函数行号:300
文件位置:-laravel\框架\src\照明\基础\控制台\服务器命令. php

protected function getDateFromLine($line)
    {
        $regex = env('PHP_CLI_SERVER_WORKERS', 1) > 1
            ? '/^\[\d+]\s\[(.*)]/'
            : '/^\[([^\]]+)\]/';

        preg_match($regex, $line, $matches);

        if (isset($matches[1])) {  
         return Carbon::createFromFormat('D M d H:i:s Y', $matches[1]);
        }
         return Carbon::now(); 
    }

相关问题