• AptanaStudio3+PHP程序远程调试的方法和步骤


      php是执行在服务器上的脚本程序,通常调试bug,直接在浏览器页面就可以打印出错误信息,凭此基本能解决所有bug,但是有时候,可以说大多数时候,php会直接处理客户端的请求,作为数据接口传递数据,没有任何的ui界面,这样对于复杂的逻辑调试起来就非常困难,当然你可以使用log,把所有的运行信息打印到一个外部文本中,可是习惯了ide断点单步执行的我们对于这种原始的办法是无法接受的。下面就要描述使用流行的XDebug来远程调试,达到的目的是,如果有客户端(手机app,pc应用,浏览器... ...)请求了php,那么就需要在我的php中断点处自动停止,并实时显示所有变量的值,指针的变化。

    第一步:下载XDebug

      下载xdebug程序dll,下载之前,写一个php,代码就这些。

    1 <?php
    2   phpinfo();
    3 ?>

    在浏览器上打开这个php,按住CTRL+A再按CTRL+C复制整个页面,这样复制:

    在浏览器上打开这个网址:http://xdebug.org/wizard.php,在页面的大文本框里边CTRL+V,将上面复制的内容复制进去

    什么都不用,直接点击红框中的按钮,稍等,会出现页面:

     下载上述框选的dll,并记录下下面框选的这一行

    zend_extension = C:WebEnvironmentphp-5.5.5extphp_xdebug-2.3.2-5.5-vc11-x86_64.dll

    到此为止,我们准备好了xdebug。

    第二步:配置xdebug

    打开php的目录,找到ext文件夹,把下载好的xdebug的dll复制进去。

    打开php.ini文件,在文件末尾加上这些配置代码:

    [XDebug]
    zend_extension = C:WebEnvironmentphp-5.5.5extphp_xdebug-2.3.2-5.5-vc11-x86_64.dll
    ;是否开启自动跟踪
    xdebug.auto_trace= On
    ;是否开启异常跟踪
    xdebug.show_exception_trace= On
    ;是否开启远程调试自动启动
    xdebug.remote_autostart= On
    ;是否开启远程调试
    xdebug.remote_enable= On
    ;允许调试的客户端IP
    xdebug.remote_host=localhost
    ;远程调试的端口(默认9000)
    xdebug.remote_port=9000
    ;调试插件dbgp
    xdebug.remote_handler=dbgp
    ;是否收集变量
    xdebug.collect_vars= On
    ;是否收集返回值
    xdebug.collect_return= On
    ;是否收集参数
    xdebug.collect_params= On
    ;是否开启调试内容
    xdebug.profiler_enable=On

    上面的代码加好之后,关闭php.ini,重启Apache。到此为止,我们便设置好了xdebug。

    第三步:在AptanaStudio中使用XDebug

    直接点击OK->OK,关闭对话框,配置就完成了。

    第四步:调试程序

    这里有一个使用Plupload来上传大文件的程序。首先我要开启Aptana(没ide可调试不了哦^_^),打开我的上传文件upload.php(客户端上传成功后,由该php来处理文件,比如文件块合并写入到本地服务器的某个目录等等)。

    在客户端上传成功之后,我的AptanaStudio直接就自动跳转到调试界面(初次使用该功能可能会有一个询问是否进入调试的对话框,确认并记住操作,下次就直接进入调试状态)

    upload就这些代码:

    前端上传完成之后,会有一个蓝色箭头指向我的php代码的第一行,按下工具栏最右边的虫子样子的按钮手动切入调试状态。

    到此为止,就可以进行调试了,任何前端发起的对该php脚本的请求,都可以在ide中进入调试环境,由我们来控制php脚本是否继续往下执行,可以看到实时的变量变化,是不是和其他所有的debug环境一样了呢。

    注:其他的php开发环境,如zendstudio,eclipse,sublime等,由于这些ide都是基于eclipse修改来的,都可以使用上面的方法配置xdebug调试环境

  • 相关阅读:
    Leetcode 421.数组中两数的最大异或值
    Leetcode 419.甲板上的战舰
    Leetcode 417.太平洋大西洋水流问题
    Leetcode 416.分割等和子集
    Leetcode 413.等差数列划分
    Leetcode 410.分割数组的最大值
    由股票价格形成因素看如何选股(发布于06-02 13:09)
    巴菲特的资产配置艺术(发布于06-01 13:28)
    ROE能否包打天下?(发布于05-31 11:27)
    价值迟迟不回归怎么办?(发布于05-30 10:02)
  • 原文地址:https://www.cnblogs.com/JimmyBright/p/4490752.html
Copyright © 2020-2023  润新知