Php 获取进行类调用的错误行号和文件名

Php 获取进行类调用的错误行号和文件名,php,error-handling,Php,Error Handling,我有一门处理错误的课 我想调用该类的一个公共静态方法来记录RPC服务器向我抛出的错误,而不需要使用\uuuu行\uuuucomand 大概是这样的: class errorHander{ public static $errors = array(); public static function logError($message){ self::$errors[] = array('message', NEEED SOMHOW TO GET THE calli

我有一门处理错误的课

我想调用该类的一个公共静态方法来记录RPC服务器向我抛出的错误,而不需要使用
\uuuu行\uuuu
comand

大概是这样的:

class errorHander{
    public static $errors = array();
    public static function logError($message){
        self::$errors[] = array('message', NEEED SOMHOW TO GET THE calling class, get the file in which the error ocured);
    }
}
 class errorHander{
        public static $errors = array();
        public static function logError($message){
            self::$errors[] = array('message'=>$message);
        }
    }


    errorHander:logError("This is a no-yes go") //This should log

    echo errorHander:errors[0]["message"]; //print it
这是最重要的,无需从被调用函数传递文件位置


所以像
errorHander:logError(消息、位置)
这样的东西是不可能的

这显然取决于你的错误类型


您可能希望了解异常处理。PHPs异常类提供了getLine()和getTrace()方法。这可能就是你要找的

Exception::getLine和getFile方法,我没有办法在不处理异常的情况下做到这一点。 这是参考资料。

logError()只需要一个参数,而不是2

这样做:

class errorHander{
    public static $errors = array();
    public static function logError($message){
        self::$errors[] = array('message', NEEED SOMHOW TO GET THE calling class, get the file in which the error ocured);
    }
}
 class errorHander{
        public static $errors = array();
        public static function logError($message){
            self::$errors[] = array('message'=>$message);
        }
    }


    errorHander:logError("This is a no-yes go") //This should log

    echo errorHander:errors[0]["message"]; //print it

希望它有帮助

这在xdebug扩展中是可能的:

您可以使用
xdebug\u call\u file()
xdebug\u call\u class()
获取所需信息


请参阅文档:

您会遇到什么类型的错误?例外情况?或者RPC服务器返回一些错误响应?这就是当前系统的工作方式。我想找出调用静态方法的类的名称。这个类有点类似,但我需要知道调用错误类的类,而不更改调用错误的类中的代码。getTrace可以做到这一点,但为什么不能编辑调用错误的类呢?我在php中出现了一个nrmal错误,但是服务器正在处理rpc。对不起,不知道你想用它表达什么。