PHP:
Ghi vào lỗi chuẩn
Làm thế nào:
Bạn có thể ghi vào stderr
trong PHP với fwrite()
hoặc bộ điều khiển luồng. Dưới đây là cách làm:
<?php
// Ghi vào stderr với fwrite
fwrite(STDERR, "Đây là thông điệp lỗi.\n");
// Sử dụng bộ điều khiển luồng
file_put_contents('php://stderr', "Đây là một thông điệp lỗi khác.\n");
?>
Đầu ra mẫu (trong bảng điều khiển):
Đây là thông điệp lỗi.
Đây là một thông điệp lỗi khác.
Sâu hơn nữa
Lịch sử, việc tách biệt stdout
và stderr
xuất phát từ cách Unix xử lý luồng vào/ra. Các ngôn ngữ khác như C cũng có quy ước tương tự. Các phương án thay thế trong PHP có thể bao gồm các thư viện log hoặc trình xử lý lỗi tùy chỉnh, nhưng việc viết trực tiếp vào stderr
là phương pháp đơn giản cho các ứng dụng console. Đằng sau hậu trường, stderr
là một luồng đầu ra không được đệm, có nghĩa là các thông điệp được xả ngay lập tức mà không chờ đợi.
Xem thêm
- Hướng dẫn PHP về Hằng Số Định Nghĩa Sẵn (STDERR): https://www.php.net/manual/en/features.commandline.io-streams.php
- Hướng dẫn PHP về các chức năng xử lý lỗi: https://www.php.net/manual/en/book.errorfunc.php
- Wikipedia về Luồng chuẩn: https://en.wikipedia.org/wiki/Standard_streams