以前每当一个 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。:(
因此我一直在找一个“轻量级”的解决方案。近日在逛 Zend.com 时发现了一个好东西:Zend Studio Web Debugger,直觉告诉我,这就是我想要的。果不其然,今天试验成功!
下面就说一说我的试验步骤:
- 到这里下载 Zend Studio Web Debugger,然后将其解压到某一目录,比如:C:/Program Files/Zend,这就会在该目录里面新建一个 ZendDebugger-5.2.14-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);
- 确保已经加载了 Zend Extension Manager,如果安装了 Zend Optimizer 则会自动安装 Zend Extension Manager,若没有安装请先安装 Zend Optimizer 。或者你可以把 Zend Optimizer 中 Zend Extension Manager.dll 给提取出来,然后手工在 php.ini 中添加一行:
zend_extension_ts="C:/Program Files/Zend/ZendOptimizer/ZendExtensionManager.dll"
其中 ZendExtensionManager.dll 的位置请根据你的实际情况填写; - 在 Web Server 的 php.ini 添加下面几行:
zend_extension_manager.debug_server_ts="C:/Program Files/Zend/ZendDebugger-5.2.14-Windows-i386"
zend_debugger.expose_remotely=allowed_hosts
zend_debugger.allow_hosts=127.0.0.1/32,192.168.1.0/16
zend_debugger.allow_tunnel=127.0.0.1/32
zend_extension_manager.debug_server_ts 的值请根据你的实际情况填写,就是 php-x.y.z 的父目录。 - 把 ZendDebugger-5.2.14-Windows-i386 目录下的 dummy.php 复制到你的 Web 站点根目录。
- 重启你的 Web Server,OK!
简单总结一下:Zend Studio 的远程调试功能是由 Zend Studio Server 组件(ZendDebuger.dll)提供的。本质上这是一个 Zend 扩展,因此你只要能把这个 Zend 扩展启用就可以了。只是 Zend 公司出品的 Zend 扩展只能由那个 Zend Extension Manager 负责加载,所以我们才需要做一些额外的步骤,否则只需简单地加一行 zend_extension_ts = xxxxxx
而已。
以上是转自抚琴居但不知为什么我设置不行不过可以参考.我后来修改一下3的设置参数,如果不行可以尝试一下
zend_extension_ts="C:/Program Files/Zend/ZendStudioServer-5.1.0/lib/ZendExtensionManager.dll" //路径根据自己的情况
zend_extension_ts="C:/Program Files/Zend/ZendDebugger/lib/Debugger-5.1.0/php-5.2.x/ZendDebugger.dll"//路径根据自己的情况
zend_debugger.expose_remotely=always
zend_debugger.allow_hosts=127.0.0.1
想学习PHP新手搭一个环境出来还真不容易呀............弄了一天..