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