Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP日志函数重新声明问题_Php - Fatal编程技术网

PHP日志函数重新声明问题

PHP日志函数重新声明问题,php,Php,我把这个PHP命名为logger\u error\u handler.PHPrequired,放在另一个文件中,比如foobar.PHP。它现在标记一个重新声明错误 <?php error_reporting(E_ALL); set_error_handler("logger_error_handler"); function logger_error_handler($errno, $errstr, $errfile=null, $errline=nul

我把这个
PHP
命名为
logger\u error\u 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\u error\u handler.php:5中重新声明logger\u error\u handler()(以前在C:\xampp\htdocs\foo\bar\logger\u error\u handler.php中声明)
第05行:参考功能声明
第12行:指上述功能的结束标签


我错过了什么?对我来说似乎没有重新声明,但我无法确定是什么原因造成的

将include语句更改为include\u一次。

您将从多个文件中包括logger\u error\u handler.php。 一个“脏”选项是将include()更改为include_once(),甚至是require_once()


但是,您也应该尝试查看为什么文件包含多次,像这样的文件应该主要包含在“loader.inc.php”文件等中,每个页面只调用一次。

谢谢。我非常专注于
05
12
中的内容,我忘记了
require
require\u once
相比是如何工作的。。。这些模棱两可的错误请你接受我的答案,因为它是正确的,首先?