PHP 如何使用自定义错误日志的静态功能
How to Use the Static function of Custom Error Logging in PHP
我有一个自定义的静态错误记录方法,如下所述 link http://www.bbminfo.com/Tutor/php_error_error_log.php 我执行了教程中提到的代码,得到了预期的输出。但现在我将错误处理方法移至 class 并将其设为静态。我遇到了一个问题,它不起作用
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);
}
我收到以下错误
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 方法。
改为像这样注册错误处理程序:
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);
参考:
我有一个自定义的静态错误记录方法,如下所述 link http://www.bbminfo.com/Tutor/php_error_error_log.php 我执行了教程中提到的代码,得到了预期的输出。但现在我将错误处理方法移至 class 并将其设为静态。我遇到了一个问题,它不起作用
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);
}
我收到以下错误
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 方法。
改为像这样注册错误处理程序:
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);
参考: