windows平台myeclipse+PDT+apache+xdebug调试php
一直用myeclipse做java开发,近期转到了php,习惯了myeclipse知道它的可扩展牛逼,想想加个php开发环境应该不难,
google了一些零散的文章弄了1天,终于通了,现把完整的过程整理一份,方便查阅。
一、安装myeclipse、php、apache,这个不说了。。。
二、安装pdt,参考官网指南
Help->Install from Site
可以在线安装也可以离线安装,视个人网络状况。
三、安装xdebug
去http://xdebug.org/wizard.php将你的phpinfo()复制进去,按照提示安装。务必根据安装的PHP版本,选择合适的Xdebug版本。
安装完成,最后重启Apache服务器,通过phpinfo()函数,可以看到下图。
可能的一些情况
- PHP5.3之前版本配置Xdebug时使用zend_extension_ts,对于PHP5.3以上版本,使用zend_extension。
- 出现XDEBUG NOT LOADED AS ZEND EXTENSION的原因是在安装没有找到xdebug库,检查目录。
php.ini个人配置备份
[Xdebug] ;zend_extension="D:/ServerCore/Xdebug/lib/php_xdebug-2.3.2-5.6-vc11-x86_64.dll" zend_extension = D:\ServerCore\php-5.6.9-x64-ts\ext\php_xdebug-2.3.3-5.6-vc11-x86_64.dll ;是否允许Xdebug跟踪函数调用,跟踪信息以文件形式存储,默认值为0 xdebug.auto_trace=1 ;是否允许Xdebug跟踪函数参数,默认值为0 xdebug.collect_params=1 ;是否允许Xdebug跟踪函数返回值,默认值为0 xdebug.collect_return=1 ;函数调用跟踪信息输出文件目录 xdebug.trace_output_dir="D:/ServerCore/Xdebug/trace" ;打开xdebug的性能分析器,以文件形式存储,这项配置是不能以ini_set()函数配置的,默认值为0 xdebug.profiler_enable=1 ;性能分析文件的存放位置 xdebug.profiler_output_dir="D:/ServerCore/Xdebug/profiler" xdebug.remote_enable=on xdebug.remote_port=9000 xdebug.remote_handler=dbgp xdebug.remote_host=localhost xdebug.remote_connect_back=on
四、myeclipse配置
依次打开Windows -> Preferences -> PHP ->PHP Executables 加入XDebug
设置默认调试浏览器,设成chrome
接下来配置PHP Server
五、测试
建立个php项目,在debug configuration 里面配置
启动apache,点击debug。
如果出现waiting for xdebug session的问题,原因可能是:
- 默认端口9000被占用 cmd->netstat -ano 查看端口占用进程号,然后到任务管理器中找对应的进程,或者干脆换个端口号同时更改php.ini和上面图中的xdebug Setting
- 域名问题 本人被这个困扰许久,经过n多次的实验发现是路径和域名问题导致的
跳出这个坑就能看到
六、扩展
Chrome谷歌浏览器安装xdebug扩展程序" xdebug helper ",离线安装,安好以后在扩展程序里设置一下(google不方便的话还百度等三方浏览器)
插一句,这个插件可以用来调试代码,跟踪代码,分析性能功能更加强大,使用方法google吧,这里做个引子
好了就先到这,欢迎指正!
更正:20160512
关于‘Edit Server’-'Path Mapping'的作用,本人在发文时不甚理解,后来找到帮助文档,才知道其作用,在调试中映射本地代码文件。