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
を使うことはできません。