我在其他文件中提到了PHP
logger_error_handler.php
require
d,例如foobar.php
。它现在标记重新声明错误。
<?php
error_reporting(E_ALL);
set_error_handler("logger_error_handler");
function logger_error_handler($errno, $errstr, $errfile=null, $errline=null, $errcontext=null) {
$log = date("Y-m-d H:i:s - ");
$log .= "Error: [". $errno ."], $errstr in $errfile on line $errline, ";
$log .= "Variables: ". print_r($errcontext, true) ."\r\n";
error_log($log, 3, "error_log.log");
die("Error Found!");
}
?>
致命错误:无法在第12行的C:\ xampp \ htdocs \ foo \ bar \ logger_error_handler.php中重新声明logger_error_handler()(先前在C:\ xampp \ htdocs \ foo \ bar \ logger_error_handler.php:5中声明)
第05行:指功能声明
第12行:指所述函数的结束标记
我在这里缺少什么?似乎没有重新声明给我,但我无法确定导致它的原因......
答案 0 :(得分:2)
将include语句更改为include_once。
答案 1 :(得分:1)
您从多个文件中包含logger_error_handler.php。 一个&#34;脏&#34;选项是将include()更改为include_once(),甚至是require_once()。
但是你也应该尝试一下这个文件被包含的原因,这样的文件应该主要包含在例如: a&#34; loader.inc.php&#34; fil等,每个页面只调用一次。