php 通过电子邮件或其他方式提醒管理员脚本错误

Posted

技术标签:

【中文标题】php 通过电子邮件或其他方式提醒管理员脚本错误【英文标题】:php alerting admin of script errors via email or other 【发布时间】:2021-07-14 21:17:28 【问题描述】:

我目前正在捕获这样的脚本错误:

error_reporting(-1) ;
ini_set("log_errors",TRUE) ;
ini_set("error_log","phpErrors.log") ;

但我需要一种更好的机制来报告这些错误,这样我就不必手动查看日志文件来查看是否捕获了某些内容。我读到了error_log 有一个内置的电子邮件功能,如下所示:Send errors message via email using error_log()

在 error_log() 中使用这个 email 函数会干扰日志文件的记录吗?此外,是否有更好的机制来创建(某种类型的)警报,这样我就不会被错误电子邮件淹没?我想我使用的任何机制都将是相同级别的警报/电子邮件 - 但我只需要一种比清理错误日志更好的方式来获得通知。

有什么建议吗?

【问题讨论】:

【参考方案1】:

当您调用error_log 时,它只会执行第二个参数指定的操作,不会同时执行两个或多个。因此,如果您说要发送电子邮件,它不会记录到磁盘。如果第二个参数是一个位掩码,那就意味着那个。我猜测其目的是每次都以明确的意图偶尔使用它。

至于“有更好的机制吗?”,这是主观的,日志记录有一个转折点,您需要确定最适合您和您的项目、工作流程、团队等的方法。

就个人而言,我喜欢Monolog 之后的PSR-3 并记录了从调试到紧急情况的8 级日志记录。使用 Monolog,您可以设置“处理程序”,其工作是处理日志,或者写入磁盘、数据库、系统日志、控制台,或者可能发送电子邮件、SMS 或其他第三方服务。每个处理程序都可以设置不同的日志级别,因此您可以将调试和更高版本记录到磁盘,将错误或更高版本发送到电子邮件,将紧急情况发送到 SMS。自定义完全由您决定。

还有其他 PSR-3 记录器,如果您需要一些简单的东西,自己动手做起来真的很简单,但我建议您研究一下一般设置。

【讨论】:

以上是关于php 通过电子邮件或其他方式提醒管理员脚本错误的主要内容,如果未能解决你的问题,请参考以下文章

Keepalive 之 keepalive概念介绍

如何在 ionic 3 上的密码或电子邮件错误时提醒用户?

为SSH登录设置电子邮件提醒

EWS 通过SubscribeToPullNotifications订阅Exchange新邮件提醒

php 向页脚添加JS,HTML或任何脚本

通过 php 脚本定期发送电子邮件