我目前正在开发PHP / MySQl应用程序。如果应用程序无法恢复并且无法继续执行错误,则抛出500错误:
如果发生此类错误,我希望通过电子邮件发送/轻笑。问题是我不希望每次触发500错误时都通过电子邮件发送。如果网站非常繁忙,那么在很短的时间内,人们就可以轻松收到数百封电子邮件或短信。
我考虑过在首次出现错误时发送电子邮件,然后设置一个标志,以防止在接下来的20分钟内发送电子邮件。然而,这导致了另一个问题。如果该标志存储在数据库中,或存储在文件系统上的文件中,则无法连接到数据库或磁盘空间不足会使该标志无效。
用于发送电子邮件的SMTP服务器也可能出现故障,但在这种情况下,我认为任何事情都无法完成,并且需要外部监控服务。 / p>
有没有更好的方法呢?
答案 0 :(得分:1)
不,你的解决方案可能是最好的[简单]选项。但是使用预先存在的文件来做。在文件系统的某个地方创建它,即使空间用完也存在。每次发生500错误时,使用touch()
更新修改时间。如果filemtime()
在最后[x]分钟内,请不要发送电子邮件。
答案 1 :(得分:0)
没有附属或任何内容,但Pingdom可能对您有帮助。