我收到以下错误消息:
注意:使用未定义的常量myErrorHandler - 假设' myErrorHandler'在第78行的C:\ xampp \ htdocs \ Webpage \ Security \ functions.php
和
警告:set_error_handler()期望参数(myErrorHandler)在第78行的C:\ xampp \ htdocs \ Webpage \ Security \ functions.php中成为有效的回调
我无法弄清楚我需要做些什么来纠正错误。我希望函数myErrorHandler能够处理网页上的所有错误。
function DB_Connect()
{
static $conn;
if (!$conn) {
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$conn = mysqli_connect(DEF_Server,DEF_User,DEF_Password,DEF_Database);
}
return $conn;
}
set_error_handler(myErrorHandler);
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
error_log("$errstr in $errfile:$errline");
header('HTTP/1.1 500 Internal Server Error', TRUE, 500);
readfile($NAV_DB_Error500);
exit;
}
我修复了" SebTM":
set_error_handler("myErrorHandler");
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
error_log("$errstr in $errfile:$errline");
header('HTTP/1.1 500 Internal Server Error', TRUE, 500);
readfile($NAV_DB_Error500);
exit;
}
我现在收到以下错误,它删除了通知,但警告仍然存在:
警告:set_error_handler()期望参数(myErrorHandler)在第78行的C:\ xampp \ htdocs \ Webpage \ Security \ functions.php中成为有效的回调
答案 0 :(得分:0)
您需要将函数的名称(在声明之后)传递给“set_error_handler”作为字符串,例如。
set_error_handler("myErrorHandler");
错误处理程序也应该返回“true”作为布尔值,以避免内部php错误处理!