从品牌网站建设到网络营销策划,从策略到执行的一站式服务
PHP 确实不会输出错误堆栈,但通过函数,还是能够获取到错误堆栈的。
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的阳新网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
function getBacktrace() {
ob_start();
debug_print_backtrace();
return ob_get_clean();
}
调用上面这个函数取得错误堆栈,再用 file_put_contents('log_path', FILE_APPEND); 写入日志文件即可。
还有一个办法:为 PHP 安装 xdebug 扩展
windows 下的安装方法 安装好后,修改 php.ini
(1)使用echo ,简单输出
(2)使用print_r(),可以有规则的打印复杂结构
(3)var_dump递归输出某种结构体
(4)print(),简单打印
可以将你要输出的错误内容放到上述语句或函数内进行打印输出;也可以写入某个文件,作为你的Log日志:file_put_contents('/test1.txt',$value['value'],FILE_APPEND)等这类文件函数
以上是我自己工作中总结的PHP调试方法,挺好用的。
所谓的日志就是记录系统运行状态的数据。
一般是将信息记录到文本文件或数据库中。
比如:
?php
function writeLog($msg){
$logFile = date('Y-m-d').'.txt';
$msg = date('Y-m-d H:i:s').' '.$msg."\r\n";
file_put_contents($logFile,$msg,FILE_APPEND );
}
//调用上面的函数,写一条信息进日志文件
writeLog('这是测试日志信息');
?
要捕获错误的话,一般都要自己封装一下
代码示例:
?php
//error handler function
function customError($errno, $errstr, $errfile, $errline)
{
echo "bCustom error:/b [$errno] $errstrbr /";
echo " Error on line $errline in $errfilebr /";
echo "Ending Script";
die();
}
//set error handler
set_error_handler("customError");
$test=2;
//trigger error
if ($test1)
{
trigger_error("A custom error has been triggered");
}
?
输出:
Custom error: [1024] A custom error has been triggered
Error on line 19 in C:\webfolder\test.php
Ending Script
具体参考:
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图