phpdebugger
‘壹’ php网站修改工具
PHP Expert Editor 是一个容易使用的 PHP 开发工具,它的功能照顾到初级者及专业开发人员。基于Windows平台的PHP Expert Editor是一个PHP语言的集成开发环境(IDE)。PHP Expert Editor为PHP高手提供了许多方便、实用的特性,它还为初学者提供了诸如语法检查、代码浏览、内嵌FTP、代码库管理、代码模版等易用的功能。内建的 http server 用作测试及除错(你也可以使用其他 http server), PHP 语法检查, FTP 功能, 程式码样板等功能。
PHP Expert Editor 适合PHP初学者和高级开发人员,它包括一个内部HTTP服务器和脚本器,可以进行语法检查,测试PHP代码等。
先安装后phpxedit_42.exe后,然后将目录下的phpxedit.exe覆盖到安装目录。
PHP Expert Editor 官方有4.3版本下载,但是杀毒软件居然报毒,所以还是把我收藏的4.2中文版奉献出来,完美汉化破解版,用着舒心。
一设计工具
UML和相关设计工具
-ArgoUML
UML绘图工具,支持PHPstub生成。(commercialspinoffisPosideon)–java编写。
-UmbrelloUML
UML绘图工具,支持PHPstub生成。需要Unix/KDE。
-Dia
支持UML的绘图工具-使用AutoDia生成PHP。
-XMI2PHP
从XMI文档生成PHP代码,用XML描述UML的一种形式。
二编码工具
推荐的IDE/编辑器
-PHPEclipse
EclipseIDE的PHP插件
-PHPEdit
可能是Windows下最好的免费IDE了
-JEdit
支持PHP的IDE(plusloadsmore)。Java编写,所以平台保持独立。
-Jext
JEdit的孪生兄弟。
-gPHPEdit
Gnome/Linux下最好的(?)PHP编辑器。
-SciTE
跨平台编辑器
-PHPModeforEmacs
UnixEMACSIDE的PHPMode
三测试工具
Debuggers和Profilers
-XDebug(推荐)
出色的.debugger和profiler扩展
-AdvancedPHPDebugger
GeorgeSchlossnagle的debugger
-PEAR::Benchmark
用PHP写的Benchmarking和profiling工具
-DBG
PHPDebugger
单元测试框架
-SimpleTest(推荐)
关于mockobjects出色的文档和支持
-PEAR::PHPUnit
四部署工具
构建/部署工具
-PEARPackageManager(推荐)
允许你安装PEARpackages(通过网络),还能将你的代码打包用于安装。在命令行下执行http://pear.php.net/go-pear运行。PHP编写。
-PEAR::PackageFileManager
自动生成PackageManager使用的package.xml文件。PHP编写。
-Phing
PHP的构建工具,相当于ApacheANT。在构建大型项目时值得研究。PHP编写。
-ZZ/OSSInstaller
基于PHP的安装向导,用于专业的PHP模块化应用的发布。
加速器
-TurckMMCache(强烈推荐)
集成OPCODECache,scriptencoder,profiler和动态内容缓存(readpersistence)于一体。提供Windows版本。
-PHPAccelerator(推荐)
OPCODECache
五管理工具
文档生成工具
-phpDocumentor(推荐)
用源代码注释中生成API文档(像Javadoc)。输出可以被“模版化”,还支持HTML,PDF和CHM格式。PHP编写。
-PHPXref(推荐)
创建源代码的“交叉引用”,使你能够看见一个变量/方法/函数在哪里声明以及在哪里被引用。Perl编写。
版本控制工具(此部分为Easy添加)
-CVS
开放源代码的版本控制系统,很多大型项目,包括PHP本身,都用它管理代码。
-CVSNT
用于WindowsNT(XP也可以)的CVS服务器程序
‘贰’ 如何在Zend Studio中使用Zend Debugger调试PHP
在使用Zend Debugger在Zend Studio中调试PHP之前,请先安装Zend Debugger,这个知道吧
为了使用Zend Debugger,首先需要打开Zend Studio7,对Zend Studio的Debug配置选项进行设置,步骤如下:选择菜单栏Project->Properties,选择左侧PHP Debug选项
zend studio7 debug设置
Zend Debugger使用特别说明:如果之前使用Xdebug调试PHP,请设置好PHP Debug后重启Zend Studio,否则可能仍然是使用Xdebug调试而不是使用Zend Debugger调试。
除了上述的设置方式,Zend Studio7 Debug还有另一种设置方式,主要针对的是单个调试文件,方法如下,选择菜单栏中的Run->Debug Configurations ,选择PHP Web Page Debug调试方式下的调试页面,右侧Server面板中选择Zend Debugger,可以点击Test Debugger,如果Zend Debugger安装成功,其会弹出Test Debuger Server Success对话框,即宣告Zend Debug Server连接成功,相反如果没有安装Xdebug,选择Xdebug时Test Debugger按钮是失效的,如图
设置zend studio debug,并测试Zend Debugger是否连接成功
这种方法适用于变更单个PHP文件在Zend Studio中的调试工具,即选择使用Zend Debugger或者Xdebug进行调试。而之前的设置主要针对的是设置整个项目的调试方式。
最后我总结下使用Zend Debugger在Zend Studio中调试PHP的方法:
1、在Zend Studio中导入(新建)项目
2、设置项目或文件的Zend Studio Debug调试方法
3、选择菜单栏RUN中的Debug AS或Debug URL进行调试,Zend Studio中Zend Debugger的调试界面和Xdebug类似,同样可以通过F11启动调试会话,F5(单步调试),设置断点等
‘叁’ php debugger配置失败
一直有用xdebug
试看下.
http://www.feel123.cn/phpg/20080313/206.html
‘肆’ 怎样调试php在eclipse
1. 下载eclipse,从官网上找就可以了,并确认当前系统中有java环境,即jdk和jre。
2. 安装pdt了,采用的是在线安装,更新地址在默认中已经包含了。只是更新起来比较麻烦。(如果直接下载 携带PDT的 Eclipse版本,可省略)
3. 下载调试器,调试器有两种,一种时xdebug,另一种时zenddebug。
采用 xdebug
下载下来的应该是源代码包。解压缩,然后cd到目录,然后phpize,有的时候可能没有这个程序,运行sudo apt-get install
php5-dev,就可以了。然后就会出现熟悉的config程序 ./configure 出现一连串黑白屏字符,接着make,make
install。后两项命令执行的时候,可能会需要sudo权限,因为涉及到将程序文件复制到系统目录。
4.
在/etc/php5/apache2/conf.d/中建立一个xdebug.ini文件,可以用vi或者其他文本程序,加入如下的配置项目。配置内容如下:
代码如下:
[xdebug]
zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"
xdebug.remote_handler=dbgp
xdebug.remote_port=9000
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.max_nestring_level=100
xdebug.profile_enable=on
xdebug.remote_enable=on
xdebug.remote_host=localhost
xdebug.trace_output_dir="/tmp"
xdebug.profile_output_dir="/tmp"
xdebug.idekey=webide
xdebug.mode=re
放到这个目录中的ini文件会被php自动加载。
至此,xdebug的安装配置已经完成。
5. 打开eclipse,然后选择window preference , 先配置服务选项:
先配置debug,选择php选择debug,将php的debugger选择为xDebug。接着配置Server,
选择PHP
Servers,然后弹出菜单:然后点击new,在Name处随便选择一个名字,url配置成调试的主url。
然后设置成default。
最后配置PHP
Executables,add 随便起个名字,path设置成/usr/bin/php
然后设置ini的位置在/etc/php5/apache2/php.ini
最后将PHP debugger设置成为XDebug就可以了。
‘伍’ php写的微信公众平台代码如何进行断点调试
首先需要说明的是,php程序调试需要手动编写部分代码,目的是断截程序线程的执行,输出指定环节的结果,就是所谓的断点调试。所以,实际上需要讨论的问题是采用什么断点代码更合适。
die()和exit()
die()和exit()函数都有终止线程的作用,是php断点调试需要使用的最主要的函数,它们也是php程序员使用非常频繁的函数。然而两者又有什么区别呢?在程序调试时需要注意什么问题呢?
die()函数一般与“or”一并使用,写作“or die()”,经常看到这样的语句:
$file = fopen($filename, 'r') or die("抱歉,无法打开: $filename")
or在这里是这样理解的,因为在PHP中并不区分数据类型,所以$file既可以是int也可以bool,所以这样的语句不会报错。但其处理过程可能有些朋友不大明白。其实在大多数的语言中, bool or bool这样的语句中,如果前一个值为真后一个值就不会再判断了。这里也是的,所以如果fopen函数执行正确的话,会返回一个大于0的int值(这其实就是"真"),后面的语句就不会执行了。如果fopen函数执行失败,就会返回false,那么就会判断后面的表达式是否为真了。结果执行了die()之后,不管返回什么,程序都已经停止执行了,并且显示指定的出错信息,也就达到了调试的目的。就这样。
实际上,die和exit是等价的,都是用来终止当前脚本。
php手册对两者的解释如是说:
exit() 函数输出一条消息,并退出当前脚本。该函数是 die() 函数的别名。
die() 函数输出一条消息,并退出当前脚本。该函数是 exit() 函数的别名。
实例:
<?php $site = "http://www.w3school.com.cn/"; fopen($site,"r") or exit("Unable to connect to $site"); ?>
<?php $site = "http://www.w3school.com.cn/"; fopen($site,"r") or die("Unable to connect to $site"); ?>
var_mp()和print_r()
var_mp -- 打印变量的相关信息
void var_mp ( mixed expression [, mixed expression [, ...]] )
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
提示: 为了防止程序直接将结果输出到浏览器,可以使用输出控制函数(output-control functions)来捕获此函数的输出,并把它们保存到一个例如 string 类型的变量中。
<?php
$a = array (1, 2, array ("a", "b", "c"));
var_mp ($a);
$b = 3.1;
$c = TRUE;
var_mp($b,$c);
?>
var_mp()可以输出多个变量,如:var_mp($b,$c)
print_r -- 打印关于变量的易于理解的信息
bool print_r ( mixed expression [, bool return] )
注: 参数 return 是在 PHP 4.3.0 的时候加上的
print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。
记住,print_r() 将把数组的指针移到最后边。使用reset() 可让指针回到开始处。
<pre>
<?php
$a = array ('a' => 'apple',
'b' => 'banana',
'c' => array ('x','y','z'));
print_r ($a);
?>
</pre>
上边的代码将输出:
<pre> Array ( [a] => apple [b] => banana [c] => Array ( [0] => x [1] => y [2] => z ) ) </pre>
如果想捕捉 print_r() 的输出,可使用 return 参数。若此参数设为 TRUE,print_r() 将不打印结果(此为默认动作),而是返回其输出。
例子:return 参数示例
<?php
$b = array ('m' => 'monkey',
'foo' => 'bar',
'x' => array ('x', 'y', 'z'));
$results = print_r ($b, true); //$results 包含了 print_r 的输出结果
?>
注: 如果想在 PHP 4.3.0 之前的版本中捕捉 print_r() 的输出,可使用输出控制函数。
注: 在 PHP 4.0.4 之前的版本中,如果给出的 array 或 object 包含了直接或间接指向自身的引用,print_r() 将永远继续下去。print_r($GLOBALS) 就是一个例子,因为 $GLOBALS 自身即是全局变量,其包含了指向自身的引用。
Zend Debugger
php断点调试,有人提到用Zend Debugger,简单方便,适合菜鸟使用。不过本人因没有用过,在此不作讨论。
‘陆’ 如何在Zend Studio中使用Zend Debugger调试PHP
由于我之前使用Xdebug对PHP进行调试,为了使用Zend Debugger,我们首先需要打开Zend Studio7,对Zend Studio的Debug配置选项进行设置,步骤如下:选择菜单栏Project->Properties,选择左侧PHP Debug选项zend studio7 debug设置Zend Debugger使用特别说明:如果之前使用Xdebug调试PHP,请设置好PHP Debug后重启Zend Studio,否则可能仍然是使用Xdebug调试而不是使用Zend Debugger调试。除了上述的设置方式,Zend Studio7 Debug还有另一种设置方式,主要针对的是单个调试文件,方法如下,选择菜单栏中的Run->Debug Configurations ,选择PHP Web Page Debug调试方式下的调试页面,右侧Server面板中选择Zend Debugger,你可以点击Test Debugger,如果Zend Debugger安装成功,其会弹出Test Debuger Server Success对话框,即宣告Zend Debug Server连接成功,相反如果没有安装Xdebug,选择Xdebug时Test Debugger按钮是失效的,如图设置zend studio debug,并测试Zend Debugger是否连接成功这种方法适用于变更单个PHP文件在Zend Studio中的调试工具,即选择使用Zend Debugger或者Xdebug进行调试。而之前的设置主要针对的是设置整个项目的调试方式。最后我总结下使用Zend Debugger在Zend Studio中调试PHP的方法:1、在Zend Studio中导入(新建)项目2、设置项目或文件的Zend Studio Debug调试方法3、选择菜单栏RUN中的Debug AS或Debug URL进行调试,Zend Studio中Zend Debugger的调试界面和Xdebug类似,同样可以通过F11启动调试会话,F5(单步调试),设置断点等。至此在Zend Studio中使用Zend Debugger调试PHP的方法就介绍完了。
‘柒’ 如何在Zend Studio中使用Zend Debugger调试PHP
在使用Zend Debugger在Zend Studio中调试PHP之前,请先安装Zend Debugger,如果对Zend Studio的使用比较陌生,推荐先学习PHP开发工具Zend Studio7入门使用教程。
由于我之前使用Xdebug对PHP进行调试,为了使用Zend Debugger,我们首先需要打开Zend Studio7,对Zend Studio的Debug配置选项进行设置,步骤如下:选择菜单栏Project->Properties,选择左侧PHP Debug选项
‘捌’ 如何在Zend Studio中使用Zend Debugger调试PHP
在介绍完PHP5环境下Zend Debugger安装配置教程后,今天来说说如何在Zend Studio中使用Zend
Debugger调试PHP程序,使用Zend Debugger还是比较方便,我使用的是Zend Studio7,Zend
Studio7的Debug配置界面与早期的Zend Studio还是略有不同。
在使用Zend Debugger在Zend Studio中调试PHP之前,请先安装Zend Debugger,如果对Zend Studio的使用比较陌生,推荐先学习PHP开发工具Zend Studio7入门使用教程。
由于我之前使用Xdebug对PHP进行调试,为了使用Zend Debugger,我们首先需要打开Zend Studio7,对Zend
Studio的Debug配置选项进行设置,步骤如下:选择菜单栏Project->Properties,选择左侧PHP Debug选项
zend studio7 debug设置
Zend Debugger使用特别说明:如果之前使用Xdebug调试PHP,请设置好PHP Debug后重启Zend Studio,否则可能仍然是使用Xdebug调试而不是使用Zend Debugger调试。
除了上述的设置方式,Zend Studio7
Debug还有另一种设置方式,主要针对的是单个调试文件,方法如下,选择菜单栏中的Run->Debug Configurations
,选择PHP Web Page Debug调试方式下的调试页面,右侧Server面板中选择Zend Debugger,你可以点击Test
Debugger,如果Zend Debugger安装成功,其会弹出Test Debuger Server Success对话框,即宣告Zend
Debug Server连接成功,相反如果没有安装Xdebug,选择Xdebug时Test Debugger按钮是失效的,如图
设置zend studio debug,并测试Zend Debugger是否连接成功
这种方法适用于变更单个PHP文件在Zend Studio中的调试工具,即选择使用Zend Debugger或者Xdebug进行调试。而之前的设置主要针对的是设置整个项目的调试方式。
最后我总结下使用Zend Debugger在Zend Studio中调试PHP的方法:
1、在Zend Studio中导入(新建)项目
2、设置项目或文件的Zend Studio Debug调试方法
3、选择菜单栏RUN中的Debug AS或Debug URL进行调试,Zend Studio中Zend Debugger的调试界面和Xdebug类似,同样可以通过F11启动调试会话,F5(单步调试),设置断点等。
至此在Zend Studio中使用Zend Debugger调试PHP的方法就介绍完了。
‘玖’ 如何在Zend Studio中使用Zend Debugger调试PHP
在介绍完PHP5环境下Zend Debugger安装配置教程后,今天来说说如何在Zend Studio中使用Zend Debugger调试PHP程序,使用Zend Debugger还是比较方便,我使用的是Zend Studio7,Zend Studio7的Debug配置界面与早期的Zend Studio还是略有不同。
在使用Zend Debugger在Zend Studio中调试PHP之前,请先安装Zend Debugger,如果对Zend Studio的使用比较陌生,推荐先学习PHP开发工具Zend Studio7入门使用教程。
由于之前使用Xdebug对PHP进行调试,为了使用Zend Debugger,首先需要打开Zend Studio7,对Zend Studio的Debug配置选项进行设置,步骤如下:选择菜单栏Project->Properties,选择左侧PHP Debug选项
zend studio7 debug设置
Zend Debugger使用特别说明:如果之前使用Xdebug调试PHP,请设置好PHP Debug后重启Zend Studio,否则可能仍然是使用Xdebug调试而不是使用Zend Debugger调试。
除了上述的设置方式,Zend Studio7 Debug还有另一种设置方式,主要针对的是单个调试文件,方法如下,选择菜单栏中的Run->Debug Configurations ,选择PHP Web Page Debug调试方式下的调试页面,右侧Server面板中选择Zend Debugger,可以点击Test Debugger,如果Zend Debugger安装成功,其会弹出Test Debuger Server Success对话框,即宣告Zend Debug Server连接成功,相反如果没有安装Xdebug,选择Xdebug时Test Debugger按钮是失效的
设置zend studio debug,并测试Zend Debugger是否连接成功
这种方法适用于变更单个PHP文件在Zend Studio中的调试工具,即选择使用Zend Debugger或者Xdebug进行调试。而之前的设置主要针对的是设置整个项目的调试方式。
最后我总结下使用Zend Debugger在Zend Studio中调试PHP的方法:
1、在Zend Studio中导入(新建)项目
2、设置项目或文件的Zend Studio Debug调试方法
3、选择菜单栏RUN中的Debug AS或Debug URL进行调试,Zend Studio中Zend Debugger的调试界面和Xdebug类似,同样可以通过F11启动调试会话,F5(单步调试),设置断点等。
至此在Zend Studio中使用Zend Debugger调试PHP的方法就介绍完了
‘拾’ 有没有人知道PHP5.5和Xdebug或者Zend Debugger怎么配置
zend debugger只支持到PHP5.2.6,以上就不支持了。
现在在开发自己的服务软件zend server,这个集成了zend debugger
可以试一下xdebug