php不像aspx与jsp,aspx与jsp的开发环境卡是卡爆,但他们有一个Visual Studio与Eclipse的控制台可以随时查看变量的变化,php如果利用记事本、notepad或者Dreamweaver等东西开发,根本就没有控制台给你观察变量的流动。在一些后台页面,比如Ajax响应页,比如数据库方法页,比如要看某个变量是否request,根本没有页面给你echo。
此时,根本就不用再安装什么工具,利用php操作文件的语句,把要调试的变量或者数据打印到一个txt或者一个html我们不听地打开或者刷新去观察变量的情况,就足以调试了。
假如你要调试$content变量,则这样写:
$fp = fopen('./a.txt', 'a+b'); fwrite($fp, "content=".$content); fclose($fp);意思是在本页面的同一目录下面创建一个a.txt,当然,如果你不爽还可以写到c:/或者什么地方,甚至还可以输出到./a.html,然后开一个浏览器,输出一次查看一次,不停地观看,已达到迅速调试的效果,如果已经存在a.txt,并且a.txt有内容,则在这个a.txt的文件结尾接着写入东西,此乃‘a+b‘参数的含义。
然后,把"content=".$content变量,这个字符串写入到a.txt这个文件,当然,你自己觉得好看怎么输出,当然这个输出是不带回车的,你还可以再于变量后面补一个回车,详情见下面的结果图。
之后关闭这个指针。
如果你要调试的东西是一个$content数组,则这样写:
$fp = fopen('./a.txt', 'a+b'); fwrite($fp, print_r($content, true)); fclose($fp);其中:print_r()可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。
以下是我在某一个程序的部分调试结果图,那个2与4变量
之后是一个数组:
原文地址:http://blog.csdn.net/yongh701/article/details/45437469