自定义PHP错误处理
我想,在我使用的应用程序中,我遇到了一个自定义错误处理程序,我希望这里的人能提供一些见解 作为站点数据聚合的一部分,自定义爬行器和解析器是在代码库之外单独构建的。它们存储在数据库中,通过gearman进程内部的eval运行 有一个自定义的错误处理程序设置,在出现错误时插入正在运行的公司的ID号(比如在正则表达式中忘记了分隔符,或者在我没有喝咖啡时出现了被零除的错误)。在大多数情况下,这个错误处理程序工作得很好 但是,我注意到,如果eval’d代码中有未终止的注释,则不会使用错误处理程序,因此php错误日志不包含出现问题的公司的ID号 我们在处理程序中处理以下错误类型自定义PHP错误处理,php,error-handling,Php,Error Handling,我想,在我使用的应用程序中,我遇到了一个自定义错误处理程序,我希望这里的人能提供一些见解 作为站点数据聚合的一部分,自定义爬行器和解析器是在代码库之外单独构建的。它们存储在数据库中,通过gearman进程内部的eval运行 有一个自定义的错误处理程序设置,在出现错误时插入正在运行的公司的ID号(比如在正则表达式中忘记了分隔符,或者在我没有喝咖啡时出现了被零除的错误)。在大多数情况下,这个错误处理程序工作得很好 但是,我注意到,如果eval’d代码中有未终止的注释,则不会使用错误处理程序,因此ph
- 紧急警告
- 用户警告
- E_误差
- 用户错误
E\u error
,您不能将自定义函数用作error\u handler()
:
以下错误类型无法使用用户定义的
功能:E_错误、E_解析、E_核心错误、E_核心警告、,
E_COMPILE_错误、E_COMPILE_警告,以及在
调用set_error_handler()的文件
您是否使用
set\u error\u handler()
来处理错误?好奇的是,您能否在所有代码的末尾添加/**/\n
?这将迫使终止评论。未终止的结果不是唯一导致奇怪问题的原因,但它是最容易解释的。因此,如果它作为警告放在日志中,我猜这是核心或编译警告?有没有办法知道它是什么?很抱歉,我不确定这一点,因为我的所有机器上都安装了xdebug
,我的错误看起来像:PHP解析错误:语法错误,意外'),在第38行,
的堆栈跟踪中预期为“(”。您可以尝试从以下问题实现解决方案: