У меня есть вспомогательная функция, которую я использую для регистрации (в выводе на стороне сервера) некоторых событий в моем приложении 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
Приложение Laravel вылетает, когда я вызываю fwrite специально для одной строки ⇐ Php
Кемеровские программисты php общаются здесь
1726955789
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}
Подробнее здесь: [url]https://stackoverflow.com/questions/79010436/laravel-app-crashes-when-i-call-fwrite-for-one-string-specifically[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия