做监控系统时,需要对某个页面进行监控,可以通过很多方式进行报警,如:正常则输出一个规定的变量,错误时则不输出。但是还有一个更为方便的做法,就是当前错误时,直接使用header抛出信息,如:
header("HTTP/1.1 404 Not Found");
但是,只是抛出这么一个信息,对于问题的解决是一点帮助也没有的,当然是想捕获越多的信息越好,可以按一定的规则查看页面,而页面则输出具体错误信息。可能不止一个错误,如果每次遇到一个错误都抛出一个header信息,那么php则会产生许多的warning,这是不符合要求的,解决方法,使用缓冲区接收信息,最后统一输出即可:
ob_start(); //开启缓冲区 #coding here #... ob_end_flush(); //输出全部内容到浏览器
这样,既可以捕获所有信息,也不会产生多次使用header的warning了!