PHP调试的有用方法

常用的调试方法这里就不多说了,我把我平时常用的调试函数和方法留在这里,以便自己随时使用,也乐意分享给各位朋友。

 

一、自定义调试函数

特别说明这个函数的巧妙之处:

1、日志文件以.php结尾,是为了防止服务器上的日志被黑客下载利用。

2、采用.php结尾后,虽然能禁止下载,但是仍然能通过执行php文件而读取到日志内容,所以在日志文本中添加”<?php exit(); ?>”就可以阻止任何内容的添加。

采用这种办法输出的日志样式为:

二、简单介绍PHP自带的几个调试函数:var_dump,var_export,及debug_backtrace、debug_print_backtrace

var_dump 和 var_export

var_dump 函数可以打印一个变量的相关信息,包括变量的长度、类型、结构信息等。

var_export 与 var_dump的功能相近,区别是:此函数返回关于传递给该函数的变量的结构信息,它和 var_dump()不同的是其返回的表示是合法的 PHP 代码。

可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示,也就是说可以把返回结果赋值给变量。

 

debug_backtrace 和 debug_print_backtrace

debug_backtrace() 函数生成一个 backtrace。 它可以回溯跟踪函数的调用信息,可以说是一个调试利器。

该函数返回一个关联数组。下面是可能返回的元素:

名称 类型 描述
function 字符串 当前的函数名。
line 整数 当前的行号。
file 字符串 当前的文件名。
class 字符串 当前的类名
object 对象 当前对象。
type 字符串 当前的调用类型,可能的调用:

  • 返回: “->”  – 方法调用
  • 返回: “::”  – 静态方法调用
  • 返回 nothing – 函数调用
args 数组 如果在函数中,列出函数参数。如果在被引用的文件中,列出被引用的文件名。

debug_print_backtrace 与 debug_backtrace的区别是debug_print_backtrace直接把追溯的结果输出打印出来。

以上这几个函数如何使用,大家百度一查资料很多。

 

您可能还喜欢...