PHP内部-使用什么错误记录函数?
我正在编写一个PHP扩展(尽管它开始看起来很像zend扩展)。在某些情况下,它需要写入日志接口 我看到zend_error()正在其他地方使用,但是:PHP内部-使用什么错误记录函数?,php,c,Php,C,我正在编写一个PHP扩展(尽管它开始看起来很像zend扩展)。在某些情况下,它需要写入日志接口 我看到zend_error()正在其他地方使用,但是: 阅读github上的源代码时,我发现zend/zend.h中声明了zend_错误,但找不到函数的相应定义 查看使用zend_error的上下文,我怀疑set_error_处理程序会重新路由/转移调用 通常情况下,日志记录将在MINIT和mshutton中进行(可能脚本定义的错误处理程序不会产生任何影响),但这两者之间可能也会有一些时间——我正
- 阅读github上的源代码时,我发现zend/zend.h中声明了zend_错误,但找不到函数的相应定义
- 查看使用zend_error的上下文,我怀疑set_error_处理程序会重新路由/转移调用
这告诉我zend_错误是为在引擎中使用而编写的,而不是设计为用于构建扩展的工具之一。因此,您不太可能找到包含您所询问的详细信息的文档,而且,即使它确实为您可靠地工作,它也可能不会继续这样做。您使用的是什么版本的PHP?我可能会在7.2上实现此功能-您是否暗示内部API最近发生了更改?这不在我读过的文档中-你能提供更多信息吗?投票通过,因为这真的很有用-但我仍然在寻找一种记录事件的方法,无法从PHP源代码中重写。为什么你要避免允许PHP应用程序对你的错误进行自定义错误处理?因为我想干扰代码加载过程并具有一致的审计跟踪-如果代码替换了set_error_hander(),那么后续include/require的行为将不同于早期的加载操作。好吧,这是您的项目,但我认为最好使用建立良好且精心维护的PHP日志记录/错误结构,并且只使用文档(或处理)其他开发人员交互的影响。不管怎样,祝你好运!