用register_shutdown_function函数记录php的输出日志

register_shutdown_function函数的作用是注册一个函数,当php脚本执行完成,或者代码中调用了exit ,die这样的代码之后,执行预先注册好的函数.

这样我们就可以在该函数中记录php调用执行的情况了.

简单写了下,看起来应该可以用了

  1. <?phpfunction bdebug(){
  2. $file="bdebug_log.txt";if($_REQUEST){foreach($_REQUEST as $k=>$v){
  3. $request.=$k." = ".$v."\r\n";
  4. }
  5. }foreach($_SERVER as $k=>$v){
  6. $server.=$k." = ".$v."\r\n";
  7. }
  8. $content=date('Y-m-d H:i:s')." REQUEST信息: \r\n".$request."\r\nSERVER信息: \r\n".$server."\r\n";
  9. ob_start();function shutdown_func($file){
  10. $content=date('Y-m-d H:i:s')." 输出的信息: \r\n".ob_get_contents()."\r\n";
  11. file_put_contents($file,$content,FILE_APPEND);
  12. }
  13. register_shutdown_function('shutdown_func',dirname(__FILE__).DIRECTORY_SEPARATOR.$file);
  14. file_put_contents($file,$content,FILE_APPEND);
  15. }?>

需要调用时 包含此文件执行bdebug() 即可.当php被调用时,会在该文件同目录下生成日志文件

用以记录调用的相关信息.

我这里只记录了 request ,server 以及php输出返回的信息.

具体可根据实际需要增减要记录的信息.