在ZendStudio中开启PHP 5.2.x 环境的远程调试功能

以前每当一个 ZendStudio 的新版本发布时都会同时发布一个新版的 ZendStudioServer 组件,这个组件可以让我们很方便地进行远程调试。但是自从 Zend 发布了 ZendPlatform 以后他们就不再更新 ZendStudioServer 组件了。这就导致我们只能远程调试 PHP 5.1.x 的环境,而不能调试 PHP 5.2.x。要想调试 PHP 5.2.x 只能装一个庞大的 ZendPlatform。:(

因此我一直在找一个“轻量级”的解决方案。近日在逛 Zend.com 时发现了一个好东西:ZendDebugger-5.2.3-Windows-i386.zip,直觉告诉我,这就是我想要的。果不其然,今天试验成功!

下面就说一说我的试验步骤:

  1. 到这里下载 ZendDebugger-5.2.3-Windows-i386.zip,然后将其解压到某一目录,比如:C:Program FilesZend,这就会在该目录里面新建一个 ZendDebugger-5.2.3-Windows-i386 子目录,里面有 4_3_x_comp、4_4_x_comp、5_2_x_comp 等目录,将这些 x_y_z_comp 分别改为 php-x.y.z(比如将目录 5_2_x_comp 改为 php-5.2.x);
  2. 确保已经加载了 Zend Extension Manager,如果安装了 Zend Optimizer 则会自动安装 Zend Extension Manager,若没有安装请先安装 Zend Optimizer 。或者你可以把 Zend Optimizer 中 ZendExtensionManager.dll 给提取出来,然后手工在 php.ini 中添加一行:
    zend_extension_ts=”C:Program FilesZendZendOptimizerZendExtensionManager.dll”
    其中 ZendExtensionManager.dll 的位置请根据你的实际情况填写;
  3. 在 Web Server 的 php.ini 添加下面几行:
    zend_extension_manager.debug_server_ts="C:Program FilesZendZendDebugger-5.2.3-Windows-i386″(这个目录一定要和Zend Optimizer 在同一个目录要不然就无法加载)
    zend_debugger.expose_remotely=allowed_hosts
    zend_debugger.allow_hosts=127.0.0.1/32,192.168.1.0/24,192.168.1.0/24
    zend_debugger.allow_tunnel=127.0.0.1/32

    zend_extension_manager.debug_server_ts 的值请根据你的实际情况填写,就是 php-x.y.z 的父目录。

  4. 把 ZendDebugger-5.2.3-Windows-i386 目录下的 dummy.php 复制到你的 Web 站点根目录。
  5. 重启你的 Web Server,OK!

简单总结一下:Zend Studio 的远程调试是由 ZendStudioServer 组件(ZendDebuger.dll)提供的。本质上这是一个 Zend 扩展,因此你只要能把这个 Zend 扩展启用就可以了。只是 Zend 公司出品的 Zend 扩展只能由那个 Zend Extension Manager 负责加载,所以我们才需要做一些额外的步骤,否则只需简单地加一行 zend_extension_ts = xxxxxx 而已。

完。

后记:修改php.ini

[Zend]
zend_extension_manager.optimizer_ts="d:apmZendZendOptimizer-3.3.0libOptimizer-3.3.0"
zend_extension_ts="d:apmZendZendOptimizer-3.3.0libZendExtensionManager.dll"
zend_extension_manager.debug_server_ts="D:APMZen

时间: 2024-09-27 16:51:18

在ZendStudio中开启PHP 5.2.x 环境的远程调试功能的相关文章

在ZendStudio中开启PHP 5.2.x环境的远程调试功能

以前每当一个 Zend Studio 的新版本发布时都会同时发布一个新版的 Zend Studio Server 组件,这个组件可以让我们很方便地进行远程调试.但是自从 Zend 发布了 Zend Platform 以后他们就不再更新 Zend Studio Server 组件了.这就导致我们只能远程调试 PHP 5.1.x 的环境,而不能调试 PHP 5.2.x.要想调试 PHP 5.2.x 只能装一个庞大的 Zend Platform.:( 因此我一直在找一个"轻量级"的解决方案.

Web.config中设置启用webservice远程调试访问

 在.NET 中已经默认将webservice的远程调试功能关闭,有的时候我们需要远程调试程序的时候,就需要打开此功能我们只需在webservice的项目的中添web.config的<system.web>配置节下面加一下一段配置就OK了,代码如下: <system.web> <compilation debug="true" /> <!--begin启用webservice远程访问--> <webServices> <

webservice远程调试开启

 在.NET 中已经默认将WEBSERVICE的远程调试功能关闭,有的时候我们需要远程调试程序的时候,就需要打开此功能我们只需在WEBSERVICE的项目的中添web.config的<system.web>配置节下面加一下一段配置就OK了,代码如下:  <system.web>        <compilation debug="true" />   <webServices>         <protocols>    

如何在win7电脑中开启无痕浏览器模式?

  一般情况下,在咱们的w764旗舰版系统下载中,不管是使用哪一款浏览器,不管是咱们win7旗舰版系统自带的IE浏览器还是用户自行下载的浏览器,在浏览过网页之后,都会自动的将这些网页信息记录下来,本来Windows系统的意思是为了方便以后的使用,但是对于有的用户来说,却会觉得这样泄露自己的隐私,那么咱们有什么办法可以解决呢?其实,不需要这个功能的用户,可以在自己的win7旗舰版电脑中开启浏览器的无痕浏览器模式,下面,小编就以常用的几款浏览器为例,为大家介绍一下操作的方法吧! 一.首先是QQ浏览器

怎么在BIOS中开启VT?BIOS开启VT虚拟化技术图文教程

Virtualization Technology(VT),中文译为虚拟化技术,英特尔(Intel)和AMD的大部分CPU均支持此技术,名称分别为VT-x.AMD-V.VT开启之后对虚拟机,比如VMware.海马玩/靠谱助手等安卓模拟器的性能有非常大的提高.下面就跟小编一起来看看怎么在BIOS中开启VT的教程吧,希望会对大家有所帮助的. BIOS开启VT指南 一.进入BIOS 参考以下按键,开机时按住对应的键进入BIOS: 组装机以主板分,华硕按F8.Intel按F12,其他品牌按ESC.F11

如何在Safari的阅读视图中开启夜间模式?

  在 iOS 9 之前苹果自带的 Safari 是不支持夜间模式的,那么如何在 iOS 9 的设备中开启 Safari 的夜间模式呢?下面小编就给大家介绍一下如何在Safari的阅读视图中开启夜间模式的方法. 1.打开你要在 Safari 中阅读的文章 2.如果该网页支持阅读视图模式,有一个多条横线的按钮会出现在 Safari 地址栏的左侧,点击它 3.现在你就进入了 Safari 的阅读视图模式(阅读视图模式简化了网页,隐藏了不必要展示的内容,例如广告.侧边栏项目) 4.点击地址栏右侧的 A

actionscript 3 0-FlashBuidler4.7中开启遥测失效

问题描述 FlashBuidler4.7中开启遥测失效 在FlashBuilder中已经开启了遥测功能,advancedTelemetry=""true"",属性已经设为true,为什么Scout还是看不到代码的堆栈 解决方案 找到原因了,是用的4.7,只不过原来是4.6下的项目,升级后还是选择了用了4.6的SDK.而 高级遥测选项仅适用于使用 ActionScript Compiler 2.0 (ASC 2.0) 的 ActionScript 项目和 Action

android-Android编程在一个view中开启另一个view

问题描述 Android编程在一个view中开启另一个view LZ是Android入门菜鸡,求大神拯救,我在程序的一开始用xml布局文件写了一个按钮,然后这个xml是以view的形式显示的,我的设想是一点击按钮,程序就在当前view中开启另一个画图的view. 最开始是这样声明的 ```public float xAxis = 0; public float yAxis = 0; private Button start; private LayoutInflater layIn; priva

service-清除activity stack,再从服务器中开启新的Activity

问题描述 清除activity stack,再从服务器中开启新的Activity 我的 android 程序中包含很多 activity,每一个都代表一个菜单: Activity A (main Activity & 第一级菜单) Activity B (第二级菜单) Activity C (第三级菜单) 我在一个服务器中监控用户的动作,当一个事件(由服务器检测)发生时,我想关闭所有的Activities并且重启Activity A.下面这段代码只能在 activity 中运行,不能在服务器中运