php基础(十四)php.ini 错误日志设置

本文介绍了在PHP项目上线后如何正确配置php.ini文件中的错误日志设置,包括关闭错误显示、开启错误日志记录及自定义错误日志文件路径等内容。
调试php的时候php.ini 错误日志设置部分
2009-07-15 18:14

对于PHP开发人员来说,一旦某个产品投入使用,那么第一件事就是应该将php.ini中display_errors选项关闭,以免因为这些错误所透露的路径、数据库连接、数据表等信息而遭到黑客攻击。

某个产品投入使用后,难免会有错误信息,那么如何记录这些对开发人员非常有用的信息呢?

将PHP的log_errors开启即可,默认是记录到WEB服务器的日志文件里,比如Apache的error.log文件。

当然也可以记录错误日志到指定的文件中。

# vim /etc/php.inidisplay_errors = Off
log_errors = On
error_log = /var/log/php-error.log   //此处填文件目录
另外也可以设定error_log = syslog,使这些错误信息记录到操作系统的日志里。

;具体参考php.ini的参考
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
error_reporting = E_ALL
display_errors = On
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
report_memleaks = On
track_errors = On
;注意错误不要记录到文件,不然运行的时候会看不到错误,难以调试
;error_log = c:\php_error.log
;error_log = syslog





需要一个主配置文件config.php

<?php
ini_set("error_reprorting", "E_ALL");
ini_set("display_errors", "Off");
ini_set("log_errors", "On");
ini_set("error_log", "/opt/lampp/htdocs/error_log.log");   //此路径自行配置


查看日志文件error_log.php
<?php
require_once("config.php");
set_time_limit(0);
header("Content-type:text/html;charset=utf-8");
if($_SERVER['REMOTE_ADDR'] != '127.0.0.1') {    //对除开发人员ip地址外的其他地址屏蔽可查看本日志
header('HTTP 1.1/404');
}
$line = 40;
if(function_exists('ini_get')) {
$error_log = ini_get('error_log');
} else {
$error_log = "/var/www/log/php_error.log";
}
$starttime = time();
readlog($error_log, $line, $starttime);

function readlog($file, $linefromlast, $starttime){
$i = 0;
$line = 0;
$fp = @fopen($file, "r");
while(stream_get_line($fp, 8192, "n")) {
  $line++;
}
fseek($fp, 0);          //指针置0
if($fp) {
   while(!feof($fp)) {
$i++;
$buffer = fgets($fp, 8192);
if($i <= ($line - $linefromlast)) {
continue;
}
echo $buffer . "<br />";
   }
   fclose($fp);
}
$endtime = time();
$havetime = $endtime - $starttime;
echo "在" . $line . "条记录中找出最后" . $linefromlast . "条记录耗时" . $havetime . "秒";
}
?>
【最优潮流】直流最优潮流(OPF)课设(Matlab代码实现)内容概要:本文档主要围绕“直流最优潮流(OPF)课设”的Matlab代码实现展开,属于电力系统优化领域的教学与科研实践内容。文档介绍了通过Matlab进行电力系统最优潮流计算的基本原理与编程实现方法,重点聚焦于直流最优潮流模型的构建与求解过程,适用于课程设计或科研入门实践。文中提及使用YALMIP等优化工具包进行建模,并提供了相关资源下载链接,便于读者复现与学习。此外,文档还列举了大量与电力系统、智能优化算法、机器学习、路径规划等相关的Matlab仿真案例,体现出其服务于科研仿真辅导的综合性平台性质。; 适合人群:电气工程、自动化、电力系统及相关专业的本科生、研究生,以及从事电力系统优化、智能算法应用研究的科研人员。; 使用场景及目标:①掌握直流最优潮流的基本原理与Matlab实现方法;②完成课程设计或科研项目中的电力系统优化任务;③借助提供的丰富案例资源,拓展在智能优化、状态估计、微电网调度等方向的研究思路与技术手段。; 阅读建议:建议读者结合文档中提供的网盘资源,下载完整代码与工具包,边学习理论边动手实践。重点关注YALMIP工具的使用方法,并通过复现文中提到的多个案例,加深对电力系统优化问题建模与求解的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值