PHP 2种调试方法
程序员文章站
2022-05-19 23:38:11
...
1.用echo、print、print_r、var_export或var_dump等直接输出到浏览器
这种情况在页面中间没有出现中断和跳转,一般后面跟exit。
项目正式上线以后这些调试代码是去掉还是加上注释呢,如果不去掉,会显得垃圾代码过多,性能也许有点小问题。
2.把需要输出的变量的值写入文件
这种情况一般都是用PHP网络函数实现Socket链接,如任何通过 fopen(),fsockopen() 和 pfsockopen() 建立的连接。
这种调试方法最适用的地方是请求不是来自于浏览器,而是来自于客户端软件(附录 L. 支持的协议/封装协议列表),特别是在开发调试阶段,如果没有日志,则程序几乎无法调试(因为程序是被客户端调用的,是没有界面的,此时用echo这种调试方式是不行的)
这种情况在页面中间没有出现中断和跳转,一般后面跟exit。
项目正式上线以后这些调试代码是去掉还是加上注释呢,如果不去掉,会显得垃圾代码过多,性能也许有点小问题。
2.把需要输出的变量的值写入文件
这种情况一般都是用PHP网络函数实现Socket链接,如任何通过 fopen(),fsockopen() 和 pfsockopen() 建立的连接。
这种调试方法最适用的地方是请求不是来自于浏览器,而是来自于客户端软件(附录 L. 支持的协议/封装协议列表),特别是在开发调试阶段,如果没有日志,则程序几乎无法调试(因为程序是被客户端调用的,是没有界面的,此时用echo这种调试方式是不行的)
例如ucenter 整合第三方PHP应用程序,ucenter向多个应用建立连接,我们只要在第三方PHP应用程序uc.php里面$get变量写入文件,然后读文件,就能知道ucenter向每个应用发送的action,id等数据。
php把数组写入文件
$file=”./data/log.txt”;
$array = array(“count” => “3000″, “num” => “300″);
file_put_contents($file,serialize($array));//写入缓存
?>
作者“danbaise”
推荐阅读
-
php采用curl访问域名返回405 method not allowed提示的解决方法
-
php下HTTP Response中的Chunked编码实现方法
-
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
-
php截取中文字符串不乱码的方法
-
php查看请求头信息获取远程图片大小的方法分享
-
PHP 字符串长度判断效率更高的方法
-
php二维数组排序方法(array_multisort usort)
-
php缩小png图片不损失透明色的解决方法
-
php mysql Errcode: 28 终极解决方法
-
php 多个submit提交表单 处理方法