浅谈Eclipse PDT调试PHP程序

yipeiwu_com6年前PHP代码库

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=req

放到这个目录中的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
SAPI Type应该设置成CGI, 但是好像调整不过来,不知道为什么。
最后将PHP debugger设置成为XDebug就可以了。

6.   一切准备就绪,新建一个php project ,这些得能在你的apache找到,然后新建一个php页面,写入一段代码,加上几个断点,然后右击php页面选择debug as phpscript就可以看到熟悉的调试窗口了,可以看到变量列表,post,get的值等。

相关文章

在Windows系统下使用PHP生成Word文档的教程

在Windows系统下使用PHP生成Word文档的教程

准备工作 首先,请确保在你的Windows系统中已经安装并配置好了一个典型的WAMP环境。由于Interop纯粹是一个Windows的特性,我们将在Windows平台下搭建Apache和...

学习php设计模式 php实现享元模式(flyweight)

学习php设计模式 php实现享元模式(flyweight)

一、意图 运用共享技术有效的支持大量细粒度的对象 享元模式变化的是对象的存储开销 二、享元模式结构图 三、享元模式中主要角色 抽象享元(Flyweight)角色:此角色是所有的具体享元...

php实现的常见排序算法汇总

本文汇总了常见的php排序算法,在进行算法设计的时候有不错的借鉴价值。现分享给大家供参考之用。具体如下: 一、插入排序 用文字简单的描述,比如说$arr = array(4,2,4,6,...

The specified CGI application misbehaved by not returning a complete set of HTTP headers

是错误报告: The specified CGI application misbehaved by not returning a complete set of HTTP heade...

PHP写API输出的时用echo的原因详解

写php API写的很少,最近才开始接口的写法,在框架里面一直用return,但是在api中retrun就失效了,为什么呢? 网友给出的答案: 1.return 一般用于函数或方法的返回...