PHP:
Запись в стандартный поток ошибок
Как это сделать:
Вы можете записывать в stderr на PHP с помощью fwrite() или оболочек потоков. Вот как это сделать:
<?php
// Запись в stderr с использованием fwrite
fwrite(STDERR, "Это сообщение об ошибке.\n");
// Использование оболочки потока
file_put_contents('php://stderr', "Это другое сообщение об ошибке.\n");
?>
Пример вывода (в консоли):
Это сообщение об ошибке.
Это другое сообщение об ошибке.Подробный разбор
Исторически разделение stdout и stderr происходит из способа обработки потоков ввода/вывода в Unix. Другие языки, например С, имеют аналогичные конвенции. Альтернативы в PHP могут включать в себя использование библиотек для логирования или настраиваемых обработчиков ошибок, но прямая запись в stderr является простым решением для консольных приложений. За кулисами stderr является не буферизированным потоком вывода, что означает, что сообщения сразу же выводятся без ожидания.
См. также
- Руководство PHP по предопределенным константам (STDERR): https://www.php.net/manual/en/features.commandline.io-streams.php
- Руководство PHP по функциям обработки ошибок: https://www.php.net/manual/en/book.errorfunc.php
- Википедия о Стандартных потоках: https://en.wikipedia.org/wiki/Standard_streams