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提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
May 06 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
PHP中strtr字符串替换用法详解
Nov 26 PHP
php递归创建目录的方法
Feb 02 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
Dec 22 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
May 31 PHP
PHP编写文件多服务器同步程序
Jul 02 PHP
php 实现Hash表功能实例详解
Nov 29 PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
Jun 08 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
May 02 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
一些常用的php简单命令代码集锦
2007/09/24 PHP
php 变量定义方法
2009/06/14 PHP
PHP如何将log信息写入服务器中的log文件
2015/07/29 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
JavaScript开发人员的10个关键习惯小结
2014/12/05 Javascript
js实现将选中内容分享到新浪或腾讯微博
2015/12/16 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
JavaScript利用HTML DOM进行文档操作的方法
2016/03/28 Javascript
js无法获取到html标签的属性的解决方法
2016/07/26 Javascript
AngularJS入门教程之模块化操作用法示例
2016/11/02 Javascript
js实现符合国情的日期插件详解
2017/01/19 Javascript
微信小程序 实例开发总结
2017/04/26 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
微信小程序自定义组件实现环形进度条
2020/11/17 Javascript
js与jquery获取input输入框中的值实例讲解
2020/02/27 jQuery
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python查找指定具有相同内容文件的方法
2015/06/28 Python
Python heapq使用详解及实例代码
2017/01/25 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
opencv python图像梯度实例详解
2020/02/04 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
python新手学习使用库
2020/06/11 Python
canvas如何绘制钟表的方法
2017/12/13 HTML / CSS
荷兰街头时尚之家:Funkie House
2019/03/18 全球购物
params有什么用
2016/03/01 面试题
英文导游欢迎词
2014/01/11 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书
详解Oracle块修改跟踪功能
2021/11/07 Oracle
Apache Pulsar集群搭建部署详细过程
2022/02/12 Servers
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android