Undefined array key 1
at D:\App-PHP\xampp_php_8\htdocs\test-project\vendor\laravel\framework\src\Illuminate\Foundation\Console\ServeCommand.php:289
285▕ protected function getDateFromLine($line)
286▕ {
287▕ preg_match('/^\[([^\]]+)\]/', $line, $matches);
288▕
➜ 289▕ return Carbon::createFromFormat('D M d H:i:s Y', $matches[1]);
290▕ }
291▕
292▕ /**
293▕ * Get the request port from the given PHP server output.
1 D:\App-PHP\xampp_php_8\htdocs\test-project\vendor\laravel\framework\src\Illuminate\Foundation\Console\ServeCommand.php:289
Illuminate\Foundation\Bootstrap\HandleExceptions::Illuminate\Foundation\Bootstrap\{closure}("Undefined array key 1", "D:\App-PHP\xampp_php_8\htdocs\test-project\vendor\laravel\framework\src\Illuminate\Foundation\Console\ServeCommand.php")
2 D:\App-PHP\xampp_php_8\htdocs\test-project\vendor\laravel\framework\src\Illuminate\Foundation\Console\ServeCommand.php:239
Illuminate\Foundation\Console\ServeCommand::getDateFromLine("27.0.0.1:65342 Accepted")
D:\App-PHP\xampp_php_8\htdocs\test-project>
我正在本地运行 laravel 9 和 xampp-windows-x64-8.1.6-0-VS16-installer,使用 php artisanserve,然后它就可以正常工作了。但是当我在 Windows 服务器上与 xampp 一起运行时,与我的本地相同的 laravel 应用程序一样,第一次重新加载运行正常,但第二次重新加载它在 cmd 控制台上显示错误未定义的数组键 1,并且应用程序停止工作。我以前在 Windows 服务器上运行的 Laravel 应用程序从未遇到过这种错误,顺便说一句,我以前运行的应用程序是版本 8,这是我在 Windows 服务器上的第一个 Laravel 9 应用程序。谢谢之前
最佳答案
它基本上表明您的变量$matches
没有索引[1]
。您要么必须检查条件是否已设置,要么如果它不为空,则需要检查它之前的一些代码并验证它为何未定义。现在,您可以这样做:
return isset($matches[1]) ? Carbon::createFromFormat('D M d H:i:s Y', $matches[1]) : null;
关于php - Laravel 未定义数组键 1 php artisan 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74283799/