如何使用PHP将浏览器输出写入日志文件? [英] How to write browser output to log file using PHP?

查看:645
本文介绍了如何使用PHP将浏览器输出写入日志文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的脚本是由Cron作业运行的。所以,当它运行时,我看不出任务的输出是什么。 (错误等等。)

所以我需要使用PHP将浏览器输出写入日志文件。我该怎么做?

I have the script is which runned by Cron jobs. So, while it runs, I can't see what output of the task is. (errors and so on.)
So I need to write browser output to log file using PHP. How can I do this ?

推荐答案

我将此脚本用于错误日志:

I use this script for error logs:

// Destinations
define("ADMIN_EMAIL", "nobody@stanford.edu");
define("LOG_FILE", "/my/home/errors.log");

// Destination types
define("DEST_EMAIL", "1");
define("DEST_LOGFILE", "3");

/**
  * my_error_handler($errno, $errstr, $errfile, $errline)
  *
  * Author(s): thanosb, ddonahue
  * Date: May 11, 2008
  * 
  * custom error handler
  *
  * Parameters:
  *  $errno:   Error level
  *  $errstr:  Error message
  *  $errfile: File in which the error was raised
  *  $errline: Line at which the error occurred
  */

function my_error_handler($errno, $errstr, $errfile, $errline)
{  
  switch ($errno) {
    case E_USER_ERROR:
      // Send an e-mail to the administrator
      error_log("Error: $errstr \n Fatal error on line $errline in file $errfile \n", DEST_EMAIL, ADMIN_EMAIL);

      // Write the error to our log file
      error_log("Error: $errstr \n Fatal error on line $errline in file $errfile \n", DEST_LOGFILE, LOG_FILE);
      break;

    case E_USER_WARNING:
      // Write the error to our log file
      error_log("Warning: $errstr \n in $errfile on line $errline \n", DEST_LOGFILE, LOG_FILE);
      break;

    case E_USER_NOTICE:
      // Write the error to our log file
      error_log("Notice: $errstr \n in $errfile on line $errline \n", DEST_LOGFILE, LOG_FILE);
      break;

    default:
      // Write the error to our log file
      error_log("Unknown error [#$errno]: $errstr \n in $errfile on line $errline \n", DEST_LOGFILE, LOG_FILE);
      break;
  }

  // Don't execute PHP's internal error handler
  return TRUE;
}


// Use set_error_handler() to tell PHP to use our method
$old_error_handler = set_error_handler("my_error_handler");

它可以完全控制引发错误时要采取的操作。

直接从斯坦福大学的Web Services Wiki

It gives full control over what actions to take when an error is raised.
Taken directly from Web Services Wiki of Stanford University

这篇关于如何使用PHP将浏览器输出写入日志文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆