概要
閲覧数:923
投稿日:2017-03-08
更新日:2017-03-08
エラーログ内容をファイル出力
コード
define('ERRORLOGFILE',realpath( dirname( __FILE__ ) ).'/log/'.date('Ymd').'_error.log'); error_reporting(0); //エラーを画面表示(1を0にすると画面上にはエラーは出ない) set_error_handler( 'my_error_handler', E_ALL ); register_shutdown_function( 'my_shutdown_handler' ); function my_error_handler ( $errno, $errstr, $errfile, $errline, $errcontext ) { // 表示用 echo "[$errno] $errstr $errfile($errline) $errcontext \n"; // ログファイル書込 file_put_contents( ERRORLOGFILE, date('Y/m/d H:i:s')." [$errno] $errstr $errfile {$errline}行目\n", FILE_APPEND); } function my_shutdown_handler(){ $isError = false; if ($error = error_get_last()){ switch($error['type']){ case E_ERROR: case E_PARSE: case E_CORE_ERROR: case E_CORE_WARNING: case E_COMPILE_ERROR: case E_COMPILE_WARNING: $isError = true; break; } } if ($isError){ my_error_handler( $error['type'], $error['message'], $error['file'], $error['line'], null ); } }
結果
2017/03/08 01:08:58 [8] Constant LOGFILE already defined /var/www/★★/pagerank-access/ranking.php 361行目