2017-07-15 16 views
-1

私は、次のリンクに指定されているカスタム静的エラーロギングメソッドを持っていますhttp://www.bbminfo.com/Tutor/php_error_error_log.php私はチュートリアルで述べたようにコードを実行しました。期待される。しかし、今はクラスにエラーハンドリングメソッドを移動し、私は静的としてそれを作った。私は親切にどのようにこのセットアップでエラーをログに記録するには、私を支援し、次のエラーPHPでカスタムエラーログの静的関数を使用する方法

Parse error: syntax error, unexpected 'set_error_handler' (T_STRING), expecting function (T_FUNCTION) in /home2/bbminfon/public_html/error.php on line 17 

を取得しています

class ErrorHandling { 

    /* Error Handling Function */ 
    public static function bbmNotice($errNo, $errStr, $errFile, $errLine) { 
     $error_msg = "Custom PHP Notice : " . $errNo . "\n"; 
     $error_msg .= "Message : " . $errStr . "\n"; 
     $error_msg .= "Location : " . $errFile . "\n"; 
     $error_msg .= "Line Number : " . $errLine . "\n"; 

     /* Error Logging in General error_log File*/ 
     error_log($error_msg, 0); 
    } 

    /* Error Handler Fixing */ 
    set_error_handler("bbmNotice", E_USER_NOTICE); 

} 


/* Undefined Variable: $str */ 
if(isset($str)) { 
    echo $str ; 
} else { 
    trigger_error("Variable 'str' is not defined, Kindly define the variable 'str' before usage.", E_USER_NOTICE); 
} 

を働いていないその問題に直面します。

+0

PHPのバージョンは何ですか? – skm

+0

@skm - ** 'PHP 7.0' ** –

+0

ここにあるマニュアルを参照してください:[set_error_handler manual](http://php.net/manual/en/function.set-error-handler.php ) – skm

答えて

0

PHPがクラスメンバーを期待する場所で関数を実行しようとしているため、解析エラーが発生します。

は、この代わりのようなエラーハンドラを登録します。参考のため

class ErrorHandling { 

    /* Error Handling Function */ 
    public static function bbmNotice($errNo, $errStr, $errFile, $errLine) { 
     $error_msg = "Custom PHP Notice : " . $errNo . "\n"; 
     $error_msg .= "Message : " . $errStr . "\n"; 
     $error_msg .= "Location : " . $errFile . "\n"; 
     $error_msg .= "Line Number : " . $errLine . "\n"; 

     /* Error Logging in General error_log File*/ 
     error_log($error_msg, 0); 
    } 
} 


set_error_handler("ErrorHandling::bbmNotice", E_USER_NOTICE); 

は、以下を参照してください。

関連する問題