1.用echo、print、print_r、var_export或var_dump等直接输出到浏览器
这种情况在页面中间没有出现中断和跳转,一般后面跟exit。
项目正式上线以后这些调试代码是去掉还是加上注释呢,如果不去掉,会显得垃圾代码过多,性能也许有点小问题。
2.把需要输出的变量的值写入文件
这种情况一般都是用PHP网络函数实现Socket链接,如任何通过 fopen(),fsockopen() 和 pfsockopen() 建立的连接。
这种调试方法最适用的地方是请求不是来自于浏览器,而是来自于客户端软件(附录 L. 支持的协议/封装协议列表),特别是在开发调试阶段,如果没有日志,则程序几乎无法调试(因为程序是被客户端调用的,是没有界面的,此时用echo这种调试方式是不行的)
例如ucenter 整合第三方PHP应用程序,ucenter向多个应用建立连接,我们只要在第三方PHP应用程序uc.php里面$get变量写入文件,然后读文件,就能知道ucenter向每个应用发送的action,id等数据。
php把数组写入文件
<?php
$file=”./data/log.txt”;
$array = array(“count” => “3000″, “num” => “300″);
file_put_contents($file,serialize($array));//写入缓存
?>