php输出日志

4人阅读 评论(0) 收藏 举报
分类:

转自https://www.cnblogs.com/yszr/p/8489433.html
error_log(‘你要输出的信息’, 3, ‘E:\work\jiajiayue\Application\Api\Controller\1.txt’);die;
php error_log记录日志的使用方法和配置

对于PHP开发者来 说,一旦某个产品投入使用,应该立即将 display_errors选项关闭,以免因为这些错误所透露的路径、数据库连接、数据表等信息而遭到黑客攻击。但是,任何一个产品在投入使用后,都难 免会有错误出现,那么如何记录一些对开发者有用的错误报告呢?我们可以在单独的文本文件中将错误报告作为日志记录。错误日志的记录,可以帮助开发人员或者 管理人员查看系统是否存在问题。 如果需要将程序中的错误报告写入错误日志中,只要在PHP的配置文件中,将配置指令log_errors开启即可。错误 报告默认就会记录到Web服务器的日志文件里,例如记录到Apache服务器的错误日志文件error.log中。当然也可以记录错误日志到指定的文件中 或发送给系统syslog,分别介绍如下:

1、使用指定的文件记录错误报告日志

使 用指定的文件记录错误报告日志使用指定的文件记录错误报告日志使用指定的文件记录错误报告日志 如果使用自己指定的文件记录错误日志,一定要确保将这个文 件存放在文档根目录之外,以减少遭到攻击的可能。并且该文件一定要让PHP脚本的执行用户(Web服务器进程所有者)具有写权限。假设在Linux操作系 统中,将/usr/local/目录下的error.log文件作为错误日志文件,并设置Web服务器进程用户具有写的权限。然后在PHP的配置文件中, 将error_log指令的值设置为这个错误日志文件的绝对路径。

需要将php.ini中的配置指令做如下修改:

  1. error_reporting = E_ALL ;将会向PHP报告发生的每个错误

  2. display_errors = Off ;不显示满足上条 指令所定义规则的所有错误报告

  3. log_errors = On ;决定日志语句记录的位置

  4. log_errors_max_len = 1024 ;设置每个日志项的最大长度

  5. error_log = E:/php_log/php_error.log ;指定产生的 错误报告写入的日志文件位置

PHP 的配置文件按上面的方式设置完成以后,并重新启动Web服务器。这样,在执行PHP的任何脚本文件时,所产生的所有错误报告都不会在浏览器中显示,而会记 录在自己指定的错误日志/usr/local/error.log中。此外,不仅可以记录满足error_reporting所定义规则的所有错误,而且 还可以使用PHP中的error_log()函数,送出一个用户自定义的错误信息。

该函数的原型如下所示:

  1. bool error_log ( string message [, int message_type [, string destination [, string extra_headers]]] )

此 函数会送出错误信息到Web服务器的错误日志文件、某个TCP服务器或到指定文件中。该函数执行成功则返回TRUE,失败则返回FALSE。第一个参数 message 是必选项,即为要送出的错误信息。如果仅使用这一个参数,会按配置文件php.ini中所设置的位置处发送消息。第二个参数 message_type为整数值:0表示送到操作系统的日志中;1则使用PHP的Mail()函数,发送信息到某E-mail处,第四个参数 extra_headers亦会用到;2则将错误信息送到TCP 服务器中,此时第三个参数destination表示目的地IP及Port;3则将信息 存到文件destination中。

如果以登入Oracle数据库出现问题的处理为例,该函数的使用如下所示:

查看评论

PHP自定义输出日志到文件

输出调试信息到文件,同时输出当前时间,以及调式信息所在文件名和行号。 function logToFile($errMsg, $logfile="error.log") { ...
  • dezhihuang
  • dezhihuang
  • 2017-02-14 17:52:19
  • 949

打印日志查看数据

定义网站根目录路径 define('WWW_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/../'))); PHP: fil...
  • gongqinglin
  • gongqinglin
  • 2016-04-19 16:29:25
  • 910

php错误日志输出

先确保php-fpm相关设置是打开的,一般在/etc/php-fpm.d/www.conf下, 找到并打开catch_workers_output = yes; 然后将nginx配置打开,如/e...
  • markchiu
  • markchiu
  • 2017-04-13 10:14:55
  • 586

php: 打印log日志,存储数据到log文档 实例

我们写php经常遇到,要把一些数据记录一下,此时最好的方法,就是写进文档,方便快捷,不用了就删掉 php也提高了几种快速方法 一.error_log() 把错误...
  • zhs45656
  • zhs45656
  • 2016-08-02 15:11:23
  • 11054

php中两种将查询的内容输出写入到一本文本日志中的方法

header("Content-Type: text/html; charset=utf-8"); //require_once 'db.class.php'; require_once 'Class...
  • will5451
  • will5451
  • 2016-08-24 15:57:28
  • 890

php慢日志记录和错误日志

php的日志是值得关注的,包含错误日志和慢日志 一 错误输出 找到php.ini log_errors = On ; Log errors to specified file....
  • liangguangchuan
  • liangguangchuan
  • 2016-04-21 13:43:59
  • 929

实习日志-php-分别用print_r,var_dump,var_export打印数组

刚接触php少不了测试的时候打印数组,我今天试了试三个不同的打印方法得出的结果也不同PS:我打印的是一个二维数组 直观地看 print_r :就是将数组内容都打印出来了 var...
  • sinat_20774617
  • sinat_20774617
  • 2016-04-13 15:52:33
  • 1733

php:include中不会输出错误信息

测试输出-------我在后面使用了"echo $js;"语句,它肯定会出错Notice: Undefined variable: js inG:\www\discuz\sumRule\js.php...
  • qidizi
  • qidizi
  • 2013-04-09 21:10:02
  • 1040

日志记录 PHP下往linux目录下写日志

function writeLog($msg, $file = '/tmp/writeOpsQbus.log') {     $file = $file . "." . date("Y-m-d");...
  • zhaoliang831214
  • zhaoliang831214
  • 2016-09-26 17:35:18
  • 1099

nginx日志过滤php脚本

  • u013372487
  • u013372487
  • 2016-11-17 15:10:43
  • 352
    个人资料
    等级:
    访问量: 38万+
    积分: 5697
    排名: 5708
    最新评论