PHP のエラーログを標準出力や標準エラーに出す方法
PHP のエラーログを標準出力や標準エラーに出す方法についてです。
PHP をコマンドラインで実行するときに、エラーをターミナル上で確認したくなることがあります。
そんなときには ini_set()
で設定 error_log
の値を変更すれば OK です。
// 標準出力に出力
ini_set('error_log', 'php://stdout');
// 標準エラーに出力
ini_set('error_log', 'php://stderr');
実際に使うイメージは次のとおりです。
init();
main();
function init() {
// 出力先を標準エラーに変更
ini_set('error_log', 'php://stderr');
}
function main() {
$node = node_load(150);
if (empty($node)) {
// ini_set() でエラーログの出力先を変えておくとこれは標準エラーに出る
error_log('The node for node id ' . $node_id . ' not found.');
}
// ... 本来やりたい処理 ...
}
ini_set()
で指定する error_log
の値(第 2 引数)は文字列である必要があります。
ストリームを格納した定数である STDOUT
や STDERR
を使うことはできません。