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 相关文章推荐
用Zend Encode编写开发PHP程序
Feb 21 PHP
php &amp;&amp; 逻辑与运算符使用说明
Mar 04 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
Jun 02 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
Nov 26 PHP
php目录操作实例代码
Feb 21 PHP
详解PHP的Yii框架中扩展的安装与使用
Apr 01 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
Jun 07 PHP
Laravel下生成验证码的类
Nov 15 PHP
浅谈php://filter的妙用
Mar 05 PHP
YII框架页面缓存操作示例
Apr 29 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 PHP
PHP使用Redis队列执行定时任务实例讲解
Mar 24 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
别人整理的服务器变量:$_SERVER
2006/10/20 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
Yii把CGridView文本框换成下拉框的方法
2014/12/03 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
PHP根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
PHP下用Swoole实现Actor并发模型的方法
2019/06/12 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
JS window.opener返回父页面的应用
2009/10/24 Javascript
让FireFox支持innerText的实现代码
2009/12/01 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
2012/01/13 Javascript
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
Textbox控件注册回车事件及触发按钮提交事件具体实现
2013/03/04 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
2018/06/05 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
2018/10/09 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
微信小程序自定义底部弹出框功能
2020/11/18 Javascript
python中django框架通过正则搜索页面上email地址的方法
2015/03/21 Python
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
python编写简单爬虫资料汇总
2016/03/22 Python
深入解析Python编程中super关键字的用法
2016/06/24 Python
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
Python 从相对路径下import的方法
2018/12/04 Python
python利用Opencv实现人脸识别功能
2019/04/25 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
Python单元测试与测试用例简析
2019/11/09 Python
python使用自定义钉钉机器人的示例代码
2020/06/24 Python
上海奥佳笔试题面试题
2016/11/16 面试题
某公司的.net工程师面试题笔试题
2013/11/22 面试题
家庭贫困证明范本(经典版)
2014/09/22 职场文书
人身损害赔偿协议书范本
2014/09/27 职场文书
庆七一宣传标语
2014/10/08 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
Python OpenCV形态学运算示例详解
2022/04/07 Python
MySQL安装失败的原因及解决步骤
2022/06/14 MySQL
使用CSS定位HTML元素的实现方法
2022/07/07 HTML / CSS