PHP中把错误日志保存在系统日志中(Windows系统)

【将错误记录到系统日志中】

在 php.ini 中将 error_log 设置为:

代码如下:

error_log = syslog

或者在运行时使用 ini_set() 函数设置。

【例1】

<?php
//关闭错误显示
ini_set('display_errors', 0);
//开启错误日志功能
ini_set('log_errors', 'on');
//设置错误日志的路径
ini_set('error_log', 'syslog');
//显示所有错误
error_reporting(-1);

//记录错误
//通知级别的错误
echo $test;
//警告
settype($var, 'dee');
//致命错误
test();

查看错误日志(Windows 系统):

"我的电脑" ---- 右键 ----- 管理 ----- 事件查看器 ----- 信息

【例2】通过 openlog() 发送系统日志

<?php
//关闭错误显示
ini_set('display_errors', 0);
//开启错误日志功能
ini_set('log_errors', 'on');
//设置错误日志的路径
ini_set('error_log', 'syslog');
//显示所有错误
error_reporting(-1);

//打开系统日志的连接
openlog('PHP5.3.10', LOG_PID, LOG_SYSLOG); //openlog:Open connection to system logger
//发送日志
syslog(LOG_ERR, 'this is a test of a syslog'.date("Y-m-d H:i:s"));
//关闭系统日志的连接
closelog();

在事件查看器的警告信息中也能看到日志:

(0)

相关推荐

  • php错误日志简单配置方法

    本文实例讲述了php配置错误日志的方法.分享给大家供大家参考,具体如下: php.ini: ; 错误日志 log_errors = On ; 显示错误 display_errors = Off ; 日志路径 error_log = "/usr/local/lnmp/php/var/log/error_log" ; 错误等级 error_reporting = E_ALL&~E_NOTICE php-fpm.conf: [global] ; php-fpm pid文件 pid =

  • 无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法

    有时候用phpMyAdmin的时候会突然出现这个错误信息 "无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装" 也不知道到底是怎么导致这错误信息的,而我有时候把apache重启一下,再登录就行了,有时候把机器重启也可以 但今天2种方法都试了,还是不行,我的登录URL是 http://computer-name:8080 然后我尝试着使用 http://127.0.0.1:8080 进行登录,结果就可以了... 使用127.0.0.1登录成功后,退出,

  • 浅谈php自定义错误日志

    平时经常看php的错误日志,很少有机会去自己动手写日志,看了王健的<最佳日志实践>觉得写一个清晰明了,结构分明的日志还是非常有必要的. 在写日志前,我们问问自己:为什么我们有时要记录自定义的日志呢?而不用系统默认的日志记录方式呢? 我认为有两个原因: 1.团队需要一个统一格式的日志方便管理 2.大量无用错误日志占据硬盘空间,仅需记录有意义的日志. 那么,实践一下. 1.打开你的php.ini 2.打开日志记录,将 复制代码 代码如下: log_errors = Off 改成 复制代码 代码如下

  • PHP配置把错误日志以邮件方式发送方法(Windows系统)

    当系统发生了很严重的问题,需要立刻发送给管理员.可以通过 error_log() 将错误以邮件形式发送到邮箱. 在 php.ini 中设置: 复制代码 代码如下: sendmail_from = 472323087@qq.com 然后设置: 复制代码 代码如下: sendmail_path = "G:\sendmail\sendmail.exe -t" 其中:G:\sendmail\sendmail.exe 是邮件客户端的地址. 代码: 复制代码 代码如下: <?php //关闭

  • PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子

    在PHP程序运行过程中如果有错误发生,在浏览器上是否显示错误信息,以及显示错误信息的级别是我们在程序开发.调试.运营过程中需要控制的.下面就通过设置php.ini,控制PHP错误信息(errors)的屏蔽和显示作如下说明:1.错误信息是否显示     复制代码 代码如下: 显示错误 display_errors = On     屏蔽错误 display_errors = Off (缺省值) 2.显示错误信息的级别     复制代码 代码如下: error_reporting = E_ALL (

  • 记录PHP错误日志 display_errors与log_errors的区别

    display_errors 错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项.错误回显可以暴露出非常多的敏感信息,为攻击者下一步攻击提供便利.推荐关闭此选项. display_errors = On 开启状态下,若出现错误,则报错,出现错误提示 dispaly_errors = Off 关闭状态下,若出现错误,则提示:服务器错误.但是不会出现错误提示 log_errors 在正式环境下用这个就行了,把错误信息记录在日志里.正好可以关闭错误回显. 对于PHP开发人员来说,

  • 详解PHP的Yii框架中日志的相关配置及使用

    默认的日志是输出到protected/runtime/application.log 如果需要修改那么需要在main.php里面的 components 下面增加log配置,如下: 'preload' => array('log'),//这句也必须加上 'components' => array( 'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( //这是一个文件route表示category为test开头的所有类型的

  • 实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法

    nginx与apache不一样,在apache中可以直接指定php的错误日志,那样在php执行中的错误信息就直接输入到php的错误日志中,可以方便查询. 在nginx中事情就变成了这样:nginx只对页面的访问做access记录日志.不会有php的error log 信息.nginx把对php的请求发给php-fpm fastcgi进程来处理,默认的php-fpm只会输出php-fpm的错误信息,在php-fpm的errors log里也看不到php的errorlog. 原因是php-fpm的配

  • 详解PHP错误日志的获取方法

    在PHP中错误日志的获取方法有很多种,下面我给大家简单介绍下遇到此类问题如何解决,下面通过代码给大家展示下,希望能够帮助到大家. <?php error_reporting (0); register_shutdown_function($err = 'my_error_handler') OR set_error_handler($err,E_ALL); // 同时注册两个函数. // 函数参数错误 $original = unserialize ( array(423142,2134234)

  • nginx php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)

    很多站长转到nginx+php-fpm后,饱受500,502问题困扰.当nginx收到如上错误码时,可以确定后端php-fpm解析php出了某种问题,比如,执行错误,执行超时. php-fpm.conf的配置文件中有一个参数request_slowlog_timeout是这样描述的 复制代码 代码如下: ; The timeout for serving a single request after which a PHP backtrace will be; dumped to the 'sl

随机推荐