使用zend studio + xdebug调试php代码(iOS client + php server)


写过php的人都知道,php比较难调试。我们使用的ios client,如果用print的方式打log,会非常痛苦。这两天我调研了下,如果远程监听apache端口来实现php代码的调试。

  • 安装zend studio

下载zend studio工具,并激活。


  • 安装配置xdebug工具

xdebug我理解的是远程监听apache的某个debug端口,当有http请求时,zend studio会监听并捕捉到相应的请求。

/Applications/XAMPP/xamppfiles/bin/phpize-5.3.1

CFLAGS='-O3 -fno-common -arch i386 -arch x86_64' LDFLAGS='-O3 -arch i386 -arch x86_64' CXXFLAGS='-O3 -fno-common -arch i386 -arch x86_64' ./configure --enable-xdebug --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config-5.3.1

make&make install

  • 复制生成的so文件

我使用的是如下路径,具体哪个路径我觉得并不重要,只需要apache找得到相应的模块即可。

/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/xdebug.so 

  • 修改php.ini

添加如下配置

zend_extension=/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/xdebug.so

xdebug.auto_trace=0
xdebug.trace_enable_trigger=1

xdebug.show_exception_trace=0

xdebug.remote_enable=1

xdebug.collect_vars=1
xdebug.collect_return=1
xdebug.collect_params=1

xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp

配置完毕重启apache服务器。

  • 触发debug

我们的客户端不是web浏览器,我们的客户端是ios client。为了触发进入php服务器代码所设置的断点,我们需要在每个http请求的url中加入如下关键参数。

XDEBUG_SESSION_START=ECLIPSE_DBGP

比如你的请求url是

http://127.0.0.1/index.php?param1=value1

加入参数后的请求url应该是

http://127.0.0.1/index.php?XDEBUG_SESSION_START=ECLIPSE_DBGP&param1=value1


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值