php 服务器调试 Zend Debugger 的安装教程


Posted in PHP onSeptember 25, 2009

事实上,Zend Studio(后面我简称“ZDE”了)的调试功能分为内部调试和远程调试。内部调试是用ZDE内置的PHP(有4、5两个版本)进行的代码初步调试,我们把重点放在远程调试上,因为它可以完全模拟一个真实的运行环境。

远程调试需要服务器端的组件支持,我们今天的内容就是怎么来安装这个服务器端调试环境,用到的调试组件是Zend Debugger,它是轻便而且够用的,在撰写本文时,其最新版本是5.2.14,与网络上广为流传的5.2.10版略有更新。我的服务器是windows下的apache,因此我就下载了windows版的Zend Debugger,下来的压缩包大约2.1M,有个readme.txt,我觉得有必要看哈子:

Zend Debugger installation instructions
—————————————
1. Locate ZendDebugger.so or ZendDebugger.dll file that is compiled for the correct version of PHP (4.3.x, 4.4.x, 5.0.x, 5.1.x, 5.2.x) in the  appropriate directory.
2. Add the following line to the php.ini file:
  Linux and Mac OS X: zend_extension=/full/path/to/ZendDebugger.so
  Windows: zend_extension_ts=/full/path/to/ZendDebugger.dll
  Windows non-tread safe: zend_extension=/full/path/to/ZendDebugger.dll

  (*) the windows non-thread safe is used only with Zend Core 2.0

  3. Add the following lines to the php.ini file:
  zend_debugger.allow_hosts=<ip_addresses>
  zend_debugger.expose_remotely=always

4. Place dummy.php file in the document root directory.
5. Restart web server.

这里已经非常详细的讲了安装方法了,那我就以我晦涩的语言再描述一遍吧
以下是压缩包内所有文件的列表:
ZendDebugger-5.2.14RC9-cygwin_nt-i386\md5
ZendDebugger-5.2.14RC9-cygwin_nt-i386\Inventory.xml
ZendDebugger-5.2.14RC9-cygwin_nt-i386\4_3_x_comp
ZendDebugger-5.2.14RC9-cygwin_nt-i386\4_3_x_comp\ZendDebugger.dll
ZendDebugger-5.2.14RC9-cygwin_nt-i386\4_4_x_comp
ZendDebugger-5.2.14RC9-cygwin_nt-i386\4_4_x_comp\ZendDebugger.dll
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_0_x_comp
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_0_x_comp\ZendDebugger.dll
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_1_x_comp
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_1_x_comp\ZendDebugger.dll
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_2_x_comp
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_2_x_comp\ZendDebugger.dll
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_2_x_nts_comp
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_2_x_nts_comp\ZendDebugger.dll
ZendDebugger-5.2.14RC9-cygwin_nt-i386\dummy.php
ZendDebugger-5.2.14RC9-cygwin_nt-i386\README.txt

解压出合适的也就是和你当前php的版本对应的Zend Debugger版本,我的php版本是5.2.5,因此我就把5_2_x_comp给拖出来了(至于5_2_x_nts_comp指的是non-tread safe,没有明白具体用途,也就不妄用了),我将5_2_x_comp\ZendDebugger.dll移动到D:\myserver\ZendDebugger\5_2_x\ZendDebugger.dll,将压缩包中的dummy.php解压到web根目录,我这里的apache的DocumentRoot设置在D:/myserver,就拷贝dummy.php到D:\myserver\wwwroot,然后修改php.ini,加入了这些内容:

zend_extension_ts=D:/myserver/ZendDebugger/5_2_x/ZendDebugger.dll
  zend_debugger.allow_hosts=127.0.0.1/32,192.168.1.88/24
zend_debugger.expose_remotely=always

然后重启apache,在略微的等待之后,我们输入phpinfo()查看成功与否?
php 服务器调试 Zend Debugger 的安装教程

啊哈,运行的很好的嘛~ 

下面打开ZDE,工具菜单->首选项,选择调试选项卡,设置调试方式为服务器,Debug Server URL填写web服务器的URL,我这里apache的端口是8080,如果是默认80端口,就可以省略了,OK,设置完成,确定之(如图) 

php 服务器调试 Zend Debugger 的安装教程
 

选择 工具->检查Debug Server连接,出来的对话框选择是,我们看到了连接成功的提示 

php 服务器调试 Zend Debugger 的安装教程 
至此,我们的Debug Server就算成功安装完成了,关于如何使用Zend Studio的服务器调试,后面的教程会详细阐述,敬请期待哦。

PHP 相关文章推荐
php调用dll的实例操作动画与代码分享
Aug 14 PHP
学习php分页代码实例
Oct 24 PHP
PHP创建PowerPoint2007文档的方法
Dec 10 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
Dec 17 PHP
解读PHP的Yii框架中请求与响应的处理流程
Mar 17 PHP
php 在字符串指定位置插入新字符的简单实现
Jun 28 PHP
php禁用函数设置及查看方法详解
Jul 25 PHP
PHP 信号管理知识整理汇总
Feb 19 PHP
PHP 实现公历日期与农历日期的互转换
Sep 13 PHP
PHP fclose函数用法总结
Feb 15 PHP
Yii 框架入口脚本示例分析
May 19 PHP
tp5.1 框架数据库高级查询技巧实例总结
May 25 PHP
php 代码优化的42条建议 推荐
Sep 25 #PHP
PHP下通过系统信号量加锁方式获取递增序列ID
Sep 25 #PHP
PHP 日常开发小技巧
Sep 23 #PHP
php程序之die调试法 快速解决错误
Sep 17 #PHP
火车采集器 免费版使出收费版本功能实现原理
Sep 17 #PHP
使用php来实现网络服务
Sep 15 #PHP
Discuz 6.0+ 批量注册用户名
Sep 13 #PHP
You might like
Destoon模板制作简明教程
2014/06/20 PHP
浅谈PHP正则中的捕获组与非捕获组
2016/07/18 PHP
JavaScript中的Location地址对象
2008/01/16 Javascript
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
jQuery中:last-child选择器用法实例
2014/12/31 Javascript
javascript中基本类型和引用类型的区别分析
2015/05/12 Javascript
jQuery实现的兼容性浮动层示例
2016/08/02 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
基于Marquee.js插件实现的跑马灯效果示例
2017/01/25 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
JavaScript实现多个物体同时运动
2020/03/12 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
解决python3在anaconda下安装caffe失败的问题
2017/06/15 Python
Python标准库笔记struct模块的使用
2018/02/22 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
python实现旋转和水平翻转的方法
2018/10/25 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
对python 多线程中的守护线程与join的用法详解
2019/02/18 Python
详解解决Python memory error的问题(四种解决方案)
2019/08/08 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
抽象类和接口的区别
2012/09/19 面试题
优秀通讯员事迹材料
2014/01/28 职场文书
2014年三八妇女节活动方案
2014/02/28 职场文书
企业趣味活动方案
2014/08/21 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
工人先锋号事迹材料
2014/12/24 职场文书
后勤个人工作总结
2015/02/28 职场文书
医院感染管理制度
2015/08/05 职场文书
SQL Server基本使用和简单的CRUD操作
2021/04/05 SQL Server