PHP のエラーログを標準出力や標準エラーに出す方法

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 引数)は文字列である必要があります。 ストリームを格納した定数である STDOUTSTDERR を使うことはできません。

参考


アバター
後藤隼人 ( ごとうはやと )

ソフトウェア開発やマーケティング支援などをしています。詳しくはこちら