Приложение Laravel вылетает, когда я вызываю fwrite специально для одной строкиPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Приложение Laravel вылетает, когда я вызываю fwrite специально для одной строки

Сообщение Anonymous »

У меня есть вспомогательная функция, которую я использую для регистрации (в выводе на стороне сервера) некоторых событий в моем приложении laravel, и она работает нормально, но по причине, которую я не могу понять, в этом конкретном случае она не работает:
public static function consolelog(...$args): void{
foreach ($args as $arg) {
if (is_object($arg) || is_array($arg) || is_resource($arg)) {
$output = print_r($arg, true);
} else {
$output = (string) $arg;
}

fwrite(STDOUT, $output . "\n");
}
}

В промежуточном программном обеспечении я проверяю случай, когда я хочу прервать запрос, но вместо этого приложение просто аварийно завершает работу, когда я пытаюсь напечатать строку " URI:", и это делает мне непонятно, почему это происходит именно в этом случае:
Funcoes::consolelog("Requisição inválida, headers:\n");
Funcoes::consolelog(getallheaders());
Funcoes::consolelog(" Remote addr:");
Funcoes::consolelog($_SERVER['REMOTE_ADDR']);
Funcoes::consolelog(" URI:"); // it fails here without even printing the string
Funcoes::consolelog($_SERVER['REQUEST_URI']);
abort(400);

Сообщение об ошибке:

В строке 381 ServeCommand.php:


Неопределенный ключ массива 1

Вывод PHP -v (в случае, если это полезно):< /p>
$ php -v
PHP 8.3.11 (cli) (built: Aug 28 2024 22:31:38) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.11, Copyright (c) Zend Technologies
with Xdebug v3.3.2, Copyright (c) 2002-2024, by Derick Rethans

Полная трассировка стека в журналах laravel:
[2024-09-21 20:52:46] local.ERROR: Undefined array key 1 {"exception":"[object] (ErrorException(code: 0): Undefined array key 1 at /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php:381)
[stacktrace]
#0 /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(256): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError()
#1 /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php(381): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->Illuminate\\Foundation\\Bootstrap\\{closure}()
#2 /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php(306): Illuminate\\Foundation\\Console\\ServeCommand->getRequestPortFromLine()
#3 /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(257): Illuminate\\Foundation\\Console\\ServeCommand->Illuminate\\Foundation\\Console\\{closure}()
#4 /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php(279): Illuminate\\Support\\Collection->each()
#5 /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php(261): Illuminate\\Foundation\\Console\\ServeCommand->flushOutputBuffer()
#6 /home/user/src/LaravelProj/vendor/symfony/process/Process.php(1306): Illuminate\\Foundation\\Console\\ServeCommand->Illuminate\\Foundation\\Console\\{closure}()
#7 /home/user/src/LaravelProj/vendor/symfony/process/Process.php(1417): Symfony\\Component\\Process\\Process->Symfony\\Component\\Process\\{closure}()
#8 /home/user/src/LaravelProj/vendor/symfony/process/Process.php(1337): Symfony\\Component\\Process\\Process->readPipes()
#9 /home/user/src/LaravelProj/vendor/symfony/process/Process.php(860): Symfony\\Component\\Process\\Process->updateStatus()
#10 /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php(105): Symfony\\Component\\Process\\Process->isRunning()
#11 /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Foundation\\Console\\ServeCommand->handle()
#12 /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#13 /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\\Container\\Util::unwrapIfClosure()
#14 /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod()
#15 /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Container/Container.php(690): Illuminate\\Container\\BoundMethod::call()
#16 /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\\Container\\Container->call()
#17 /home/user/src/LaravelProj/vendor/symfony/console/Command/Command.php(279): Illuminate\\Console\\Command->execute()
#18 /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\\Component\\Console\\Command\\Command->run()
#19 /home/user/src/LaravelProj/vendor/symfony/console/Application.php(1045): Illuminate\\Console\\Command->run()
#20 /home/user/src/LaravelProj/vendor/symfony/console/Application.php(316): Symfony\\Component\\Console\\Application->doRunCommand()
#21 /home/user/src/LaravelProj/vendor/symfony/console/Application.php(167): Symfony\\Component\\Console\\Application->doRun()
#22 /home/user/src/LaravelProj/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(197): Symfony\\Component\\Console\\Application->run()
#23 /home/user/src/LaravelProj/artisan(33): Illuminate\\Foundation\\Console\\Kernel->handle()
#24 {main}


Подробнее здесь: https://stackoverflow.com/questions/790 ... ecifically
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»