我遇到了...刺激,我猜...在我使用的应用程序中使用自定义错误处理程序,我希望这里有人能提供一些见解。自定义PHP错误处理
作为我们网站数据聚合的一部分,自定义蜘蛛和解析器是在我们的代码库之外的基础上建立的。它们存储在数据库中,并通过齿轮过程中的eval运行。
设置了一个自定义错误处理程序,在出现错误时插入正在运行的公司的ID号(例如,如果在正则表达式中忘记了分隔符,或者当我还没有分隔符时,我的咖啡)。大多数情况下,这个错误处理程序很好。
但是,我注意到如果在eval'd代码中有一个未终止的注释,那么错误处理程序不会被使用,所以php错误日志不包含具有该问题的公司的ID号。
我们处理下面的错误类型的处理器
- E_WARNING
- E_USER_WARNING
- E_ERROR
- E_USER_ERROR
日志状态注释字符串错误是 '警告' ,所以我不知道为什么自定义hanlder没有被调用。
有什么想法?
你使用'的set_error_han dler()'处理错误? –
只是好奇,你可以在所有代码的末尾添加'/ **/\ n'吗?这将强制终止评论。 – cwallenpoole
未终止的评论并不是唯一引起奇怪问题的事情,但它是最容易解释的。 – Lisa