以前习惯用 echo,print_r 等方法来测试php输出,这样多多少少会影响到代码的正常运行,现改成“把测试变量输出到文本”的形式,可实现日志形式的调试,如接口服务端调试。代码如下:
<?php /** * 写文件函数 * @param string $filename 文件名 * @param string $writetext 要写入的文本字符串 * @param string $openmod 文本写入模式('w':覆盖重写,'a':文本追加) * @return boolean */ function new_writefile($filename, $writetext, $openmod = 'w') { if (@$fp = fopen($filename, $openmod)) { flock($fp, 2); fwrite($fp, $writetext); fclose($fp); return true; } else { return false; } } /** * 将“数组”转换成“数组字符串”(方便写入文本) * @param array $array 要转换的数组 * @param int $level 转换级别/深度 */ function new_arr2str($array, $level = 0) { $space = ''; for ($i = 0; $i <= $level; $i++) { $space .= "\t"; } $evaluate = "Array\n$space(\n"; $comma = $space; foreach ($array as $key => $val) { $key = is_string($key) ? '\''.addcslashes($key, '\'\\').'\'' : $key; $val = !is_array($val) && (!preg_match("/^\-?\d+$/", $val) || strlen($val) > 12 || substr($val, 0, 1)=='0') ? '\''.addcslashes($val, '\'\\').'\'' : $val; if (is_array($val)) { $evaluate .= "$comma$key => " . new_arr2str($val, $level + 1); } else { $evaluate .= "$comma$key => $val"; } $comma = ",\n$space"; } $evaluate .= "\n$space)"; return $evaluate; } /** * 写数组(其实用下面的“write函数”就足够用啦~~~) * @param array $array 要写入的数组 * @param string $type 文本写入类型('w':覆盖重写,'a':文本追加) */ function writeArr($array, $type = 'w') { $filename = 'd:\php\wamp\www\write.txt'; $writetext = test_arr2str($array); new_writefile($filename, $writetext, $type); } /** * 写对象(包括 数字、字符串、数组) * @param string $writetext 要写入的文本字符串 * @param string $type 文本写入类型('w':覆盖重写,'a':文本追加) */ function write($writetext, $type = 'a'){ // 'w':覆盖重写,'a':表示'文本追加' $filename = 'd:\php\wamp\www\write.txt'; $writetext = "++++++++++++++++++++++++++++++++++++++++++\r\n" . print_r($writetext, true) . "\r\n"; new_writefile($filename, $writetext, $type); } //require_once('d:\php\wamp\www\write.php'); // add by wenjb(注意:本地测试用,不用提交到 svn)
应用如下:
$arr = array( "w" => "wen", "j" => "jian", "b" => "bao" ); write($arr);
输出结果如下:
++++++++++++++++++++++++++++++++++++++++++ Array ( [w] => wen [j] => jian [b] => bao )
上面的仅仅是小技巧而已,最好还是用专业的调试工具去调试比较好。。。也可以
$data222 = $arr; $text222 = print_r($data222, true); $filename222 = 'd:\My Documents\1\write.txt'; file_put_contents($filename222, $text222);
相关推荐
php在线运行调试工具源码.rar
Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。方便代码开发人员检测Bug
计算机后端-PHP视频教程. php之blog实战16-调试技巧.wmv
php网页调试本地服务器 PHP服务器 PHP服务器是一个完全免安装免配置的网页服务器,您可以从光盘或优盘上直接运行它。 1. 它是个免安装的网页服务器包含了APACHE、MYSQL和PHP。 2. 它在默认情况下支持许多的PHP扩展...
该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+Zend Loader,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序绿色小巧简易迷你仅有35M,有专门的控制面板。总之学习PHP只需一个包。 对...
在Windows平台下安装PHP后,在使用PHP的exec、shell_exec等函数时,经常会遇到报错:unable to fork...,这实际上是因为PHP对cmd.exe没有足够的权限引起的。
PHP文件代码加密完美运行
1 内置API输出调试 1.1 基本调试API 1.1.1 echo (print): 1.1.2 printf 1.1.3 print_r、var_dump(var_export)、debug_zval_dump 1.2 错误控制和日志记录调试 1.2.1 错误选项控制 1.2.2 错误抛出和处理 1.2.3 使用...
php调试程序技术
配置PHP帮助手册 配置PHP调试工具 配置函数自动完成
不需要安装的 只需要解压到一个非中文路径的文件夹即可. Apache\\bin\\Apache.exe 调试时运行 该文件即可. 如果要升级 PHP 可以去 www.php.net 官方下载 zip 版编译包. 把 目录下的 dll lib 及 ext ...
PHP代码调试工具,代码
php调试与优化的小技巧
对于PHP入门学习的人来说很难准确发现PHP性能方面的问题,Xdebug是一个非常有用的PHP调试工具。
php调试工具 php debug php调试工具 php debug
php调试环境软件安全快速,简单方便,本地打开速度很快,更难得的是软件较小
新手注意啦,这个PHP调试工具是1.03版,很不错的哦,调试可以才上传的哦
TestPHP是一款php代码快速执行调试的好帮手,TestPHP采用的是PHP开发,免费、开源,不仅可以帮助新手学习php,也可以作为php程序员的调试测试工具。需要的朋友们可以下载试试吧! 功能介绍 1.非常直观的操作界面; 2...