环境:
*. ubuntu(x86) 8.04
*. php 5.2.4
*. ZendStudio 6.1.1
*. nginx(0.6.34) with fastcgi
步骤:
- 从Zend 下载页下载适用于你的系统和浏览器的Zend Debugger和Browser Toolbar
- 参考Zend Debugger 安装文档安装在php环境中集成zend debugger
- php.ini中的配置
zend_extension = /your/env/path/ZendDebugger.so
zend_debugger.allow_hosts= 127.0.0.1/32 , 127.0.0.1/24
zend_debugger.connector_port = 10137
zend_debugger.expose_remotely=allowed_hosts
- php.ini中的配置
- 安装浏览器工具条(Browser Toolbar)
- 调试时,需要通过工具条让发送出的http请求包含特定参数
- 在Zend Studio Windows - Preferences - php- Debug - Installd Debugger 中检查client host/ip地址(127.0.0.1), debugger Port(10137)
- 重启fastcgi进程产生器. ($sudo /etc/init.d/php-fastcgi restart )
- 在Zend Studio run- Debug Configurations -PHP Web Page 下新建一个项目,进行适当配置后点击 Test Debugger.看是能够探测到Zend Debugger.
- 如不成功,检查php.ini中的配置,并参考下文Tips章节.
- 在程序中打上断点.
- 点击浏览器 Zend 工具条 Debug右边的按钮,选中'All page on this site' (也可根据情况,只调试post请求).
- 尝试用浏览器触发前一步骤设置的断点.
Tips:
- 可以用phpinfo(),查看ZendDebugger的安装情况.
- 检查xdebug是否有安装,如果有安装会和zend debugger冲突. 卸载xdebug后还需注释掉 /etc/php5/conf.d/xdebug.ini中的内容
- 我这里冲突的情况是,Zend studio 检测不到Debugger.并且访问任何php页面时报 "Debugger compile handler overriden, cannot continue".
参考链接:
TODO:
- 解决当前环境调试时无法设置不在第一行停住(Break at First Line). (貌似要hack ff扩展 )
No comments:
Post a Comment