当我运行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:OpenServerdomainschorvavendorlaravelframeworksrcIlluminateFoundationConsoleServeCommand.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:OpenServerdomainschorvavendorlaravelframeworksrcIlluminateFoundationConsoleServeCommand.php:308
IlluminateFoundationBootstrapHandleExceptions::IlluminateFoundationBootstrap{closure}()
2 C:OpenServerdomainschorvavendorlaravelframeworksrcIlluminateFoundationConsoleServeCommand.php:254
IlluminateFoundationConsoleServeCommand::getDateFromLine()
就在4天前,Laravel核心中的此文件发生了更改。我怀疑你在这方面遇到了问题。
https://github.com/laravel/framework/commit/f40fe7d303544a66f7bcbee8e25c96c743d64d1a
我会试着把Laravel版本降级一点,看看它是否能解决你的问题。如果是这样,你应该在Laravel github页面上打开一个问题。
ServerCommand.php中的更新函数行号:300
文件位置:-laravel\framework\src\Illuminate\Foundation\Console\ServerCommand.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();
}