PHP中把错误日志保存在系统日志中(Windows系统)
【将错误记录到系统日志中】
在 php.ini 中将 error_log 设置为:
复制代码 代码如下:
error_log = syslog
或者在运行时使用 ini_set() 函数设置。
【例1】
//关闭错误显示
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() 发送系统日志
//关闭错误显示
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();
在事件查看器的警告信息中也能看到日志:
时间: 2015-06-22
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的错误日志,很少有机会去自己动手写日志,看了王健的觉得写一个清晰明了,结构分明的日志还是非常有必要的. 在写日志前,我们问问自己:为什么我们有时要记录自定义的日志呢?而不用系统默认的日志记录方式呢? 我认为有两个原因: 1.团队需要一个统一格式的日志方便管理 2.大量无用错误日志占据硬盘空间,仅需记录有意义的日志. 那么,实践一下. 1.打开你的php.ini 2.打开日志记录,将 复制代码 代码如下: log_errors = Off 改成 复制代码 代码如下
在PHP中错误日志的获取方法有很多种,下面我给大家简单介绍下遇到此类问题如何解决,下面通过代码给大家展示下,希望能够帮助到大家. <?php error_reporting (0); register_shutdown_function($err = 'my_error_handler') OR set_error_handler($err,E_ALL); // 同时注册两个函数. // 函数参数错误 $original = unserialize ( array(423142,2134234)
本文实例讲述了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 =
display_errors 错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项.错误回显可以暴露出非常多的敏感信息,为攻击者下一步攻击提供便利.推荐关闭此选项. display_errors = On 开启状态下,若出现错误,则报错,出现错误提示 dispaly_errors = Off 关闭状态下,若出现错误,则提示:服务器错误.但是不会出现错误提示 log_errors 在正式环境下用这个就行了,把错误信息记录在日志里.正好可以关闭错误回显. 对于PHP开发人员来说,
在PHP程序运行过程中如果有错误发生,在浏览器上是否显示错误信息,以及显示错误信息的级别是我们在程序开发.调试.运营过程中需要控制的.下面就通过设置php.ini,控制PHP错误信息(errors)的屏蔽和显示作如下说明:1.错误信息是否显示 复制代码 代码如下: 显示错误 display_errors = On 屏蔽错误 display_errors = Off (缺省值) 2.显示错误信息的级别 复制代码 代码如下: error_reporting = E_ALL (
有时候用phpMyAdmin的时候会突然出现这个错误信息 "无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装" 也不知道到底是怎么导致这错误信息的,而我有时候把apache重启一下,再登录就行了,有时候把机器重启也可以 但今天2种方法都试了,还是不行,我的登录URL是 http://computer-name:8080 然后我尝试着使用 http://127.0.0.1:8080 进行登录,结果就可以了... 使用127.0.0.1登录成功后,退出,
当系统发生了很严重的问题,需要立刻发送给管理员.可以通过 error_log() 将错误以邮件形式发送到邮箱. 在 php.ini 中设置: 复制代码 代码如下: sendmail_from = 472323087@qq.com 然后设置: 复制代码 代码如下: sendmail_path = "G:\sendmail\sendmail.exe -t" 其中:G:\sendmail\sendmail.exe 是邮件客户端的地址. 代码: 复制代码 代码如下: <?php //关闭
默认的日志是输出到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后,饱受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
生成证书 可以通过以下步骤生成一个简单的证书: 首先,进入你想创建证书和私钥的目录,例如: $ cd /usr/local/nginx/conf 创建服务器私钥,命令会让你输入一个口令: $ openssl genrsa -des3 -out server.key 1024 创建签名请求的证书(CSR): $ openssl req -new -key server.key -out server.csr 在加载SSL支持的Nginx并使用上述私钥时除去必须的口令: $ cp server.ke
nginx+php-fpm是现在配置php环境非常流行的组合之一.nginx以其并发能力强,轻巧,速度快而受到非常多人的青睐,php-fpm以其安全,处理php速度快而成为与nginx的最佳组合.php-fpm提供有一个非常重要的功能chroot,它可以把指定的网站完完全全限制在一个目录下,可以对系统和其它虚拟机起到很好的隔离效果,这对系统的安全无疑是加强了不少,下面介绍如何配置. 我们假设域名为www.jb51.net,网站根目录为/home/chroot/www.jb51.net/web,需
Apache的日志如果靠分析日志或者查看服务器进程来监视Apache运行状态的话,比较繁冗.不过在Apache 1.3.2及以后的版本中就自带一个查看Apache状态的功能模块server-status,这样查看apache的一些相应状态信息会很方便. 一.打开 Apache Server Status 如果你的Apache配置文件httpd.conf或者extra/httpd-info.conf中有LoadModule status_module modules/mod_status.so话,
日志配置 日志对于统计排错来说非常有利的.本文总结了nginx日志相关的配置如access_log.log_format.open_log_file_cache.log_not_found.log_subrequest.rewrite_log.error_log. nginx有一个非常灵活的日志记录模式.每个级别的配置可以有各自独立的访问日志.日志格式通过log_format命令来定义. ngx_http_log_module是用来定义请求日志格式的. 1. access_log指令 语法: a
日志对于统计排错来说非常有利的.本文总结了nginx日志相关的配置如access_log.log_format.open_log_file_cache.log_not_found.log_subrequest.rewrite_log.error_log. nginx有一个非常灵活的日志记录模式.每个级别的配置可以有各自独立的访问日志.日志格式通过log_format命令来定义.ngx_http_log_module是用来定义请求日志格式的. 1. access_log指令 语法: access_
Web 访问日志 (access_log) 记录了所有外部客户端对Web服务器的访问行为,包含了客户端IP,访问日期,访问的URL资源,服务器返回的HTTP状态码等重要信息. 一条典型的Web访问日志如下: 复制代码 代码如下: 192.168.50.195 - - [17/Jun/2016:23:59:12 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) Ap
404页面基础配置 404错误是WWW网站访问容易出现的错误.最常见的出错提示:404 NOT FOUND.404错误页的设置对网站SEO有很大的影响,而设置不当,比如直接转跳主页等,会被搜索引擎降权拔毛.404页面的目的应该是告诉用户:你所请求的页面是不存在的,同时引导用户浏览网站其他页面而不是关掉窗口离去.搜索引擎通过HTTP状态码来识别网页的状态.当搜索引擎获得了一个错误链接时,网站应该返回404状态码,告诉搜索引擎放弃对该链接的索引.而如果返回200或302状态码,搜索引擎就会为该链接建
mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR).对应的,binlog的格式也有三种:STATEMENT,ROW,MIXED. ① STATEMENT模式(SBR) 每一条会修改数据的sql语句会记录到binlog中.优点是并不需要记录每一条sql语句和每一行的数据变化,减少了binl
默认日志 Logback : 默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台.在运行应用程序和其他例子时,你应该已经看到很多INFO级别的日志了. 从上图可以看到,日志输出内容元素具体如下: 时间日期:精确到毫秒 日志级别:ERROR, WARN, INFO, DEBUG or TRACE 进程ID 分隔符:- 标识实际日志的开始 线程名:方括号括起来(可能会截断控制台输出) Logger名:通常使用源代码的类名 日志内容 添加日志依赖 假如mave