繁体   English   中英

更改PHP error_log行为可能吗?

[英]Changing PHP error_log behaviour possible?

我想知道是否可以更改PHP的error_log()功能的默认行为,使其默认包含源行和原始行号。

我猜这可能可以通过PHP ini设置或通过以某种特定方式配置apache来完成,尽管不是apache专家,但我不确定这将如何实现。

在我的默认环境中,在错误由PHP警告或通知合法产生的情况下,在日志中查找错误的来源通常不会造成太大的问题,因为它将自动报告行的起源...但是,由程序员手动调用PHP error_log()不会执行此操作,并且我找不到将这种行为设为默认行为的方法。

我知道一般来说,您可以使用如下所示的魔术常数手动实现行报告:

error_log("Failed to login to MySQL ".__LINE__);

但是,对于是否有任何方法可以配置错误在日志中普遍报告的方式或其他任何方法来解决更改代码中的每个调用以包括魔术常数的问题,我感到好奇并乐于接受。

您可以使用set_error_handler函数定义自己的错误处理程序。 只要您在PHP语言的范围内(包括打印发生错误的文件和行),就可以使用您喜欢的错误进行处理。 在这种情况下,最常见的做法是将错误转换为ErrorException

您还可以使用xDebug之类的工具,该工具在php.ini中激活后,将以更易读的形式显示错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM