关于在实况页面上寻找PHP错误的建议

问题描述:

背景
在实时环境中,您必须时常修复问题。在您发布代码后,您的网页上可能会出现一些错误或故障。
用户通常不会对错误进行报告,因此在您自行发现该页面之前该页面已损坏。关于在实况页面上寻找PHP错误的建议

问题
是否有PHP的推荐方式来检测什么时候有除了PHP日志PHP错误被打破?

例如,如果在页面上发生错误,您是否会建议将代码发送给您?

谢谢

+0

1. PHP应该日志2。应该有一个监控日志的软件。所以分开这两个。而且,不是,从php发邮件通常不是一个好主意 – zerkms 2012-04-08 12:09:20

+0

你知道任何可以应用到服务器或以某种方式可以扫描日志和报告任何错误或类似的实用解决方案吗?会很酷:) – Herr 2012-04-08 12:13:22

+0

最强大的赌注,尽管追溯性地使用它并不是那么有用,但它是针对某种测试框架而开发的。然后,您可以在准备好部署/发布时运行测试,并且只有在它们全部通过时才继续。当然,这对于虫子来说也不是奇迹般的治疗方法。 – mrlee 2012-04-08 12:15:21

我想你应该开始最大限度地利用Exceptionhttp://php.net/manual/en/language.exceptions.php和创建自定义的set_error_handlerhttp://php.net/manual/en/function.set-error-handler.php这个功能,你就可以开始类别您的错误和缺乏自信格式的通知

GreenException保存到MongoDB日志

BlueException寄出的评论

WhiteException给我发送邮件

UnknownException给我发送短信

你也应该尝试开发过程中进行以下设置打开和从未禁止任何错误

error_reporting(E_ALL); 
    ini_set('display_errors','On'); 

发展您应用程序以一切方式进行验证和验证

示例(文件上载)或否则,抛出异常

我可以上传

文件被更新

它是一个有效的文件

是否目标文件夹中存在

是可写

复制文件

文件成功完全复制

等.....

这样,您将最大限度地减少生产错误

最后总是......你unit testing .....

+0

如果在发送邮件代码时出现错误,该怎么办? – zerkms 2012-04-09 02:34:15

+0

如果你使用'mail',使用捕获错误,如果有错误,使用'SMTP',你捕获错误并将它保存到消息队列中......如果有错误......最后尝试保存文件 – Baba 2012-04-09 08:50:16

+0

如果您只能记录所有内容并处理日志,那么为什么会这么复杂?普遍的方式,而不是十几个细节。顺便说一下,“邮件发送代码”不仅限于一个“邮件”功能 - 你可能会在**之上的某处出错。然后怎样呢?为什么要在通知(电子邮件,短信等)方面进行硬编码处理,而不是将其延迟到*日志流程*阶段(当您可以*地随时随地做任何事情时)? – zerkms 2012-04-09 10:41:29