【问题标题】:Can I link the Zend PDT (eclipse) to a browser action?我可以将 Zend PDT (eclipse) 链接到浏览器操作吗?
【发布时间】:2011-08-30 20:58:02
【问题描述】:

是否可以在 Eclipse 中配置 Zend PDT 调试器,以与 Eclipse 的 Java 调试器类似的方式从浏览器操作中触发断点? IE。设置断点,启动调试器,浏览站点,然后在遇到断点时放入断点。

我可以调试单个脚本和网页,但是我正在尝试调试从网页调用的脚本。我正在使用 Joomla,希望能够在点击页面内容时遍历依赖堆栈。

提前感谢您的任何建议..!

【问题讨论】:

    标签: eclipse debugging eclipse-pdt zend-debugger


    【解决方案1】:

    我发现了如何做到这一点,但它很啰嗦。它使您能够像调试 Java 一样调试 PHP,因为您可以浏览您的站点,并且仅在您遇到一个断点时才进入调试器。这是 Linux 的配​​置。

    安装 Zend 调试器

    首先您需要安装和配置 Zend 调试器:

    • 确保已安装 Eclipse PDT(PHP 开发工具)。如果不: 将此存储库添加到帮助 > 安装新软件...中的源列表中:http://download.eclipse.org/releases/helios
    • 展开 Programming Languages 包并选择 PHP Development Tools (PDT) SDK Feature。
    • 单击下一步并安装。
    • 以同样的方式安装 Zend PDT,将此存储库添加到您的源列表:http://downloads.zend.com/pdt
      • 展开Zend CE Features并选择Zend Debugger Feature,然后点击下一步
    • 重新启动 Eclipse,然后转到 Window > Preferences > PHP > Debug > Installed Debuggers 以确保 Zend Debugger 已安装。
    • 配置 php.ini 指向 ZendDebugger.so 文件。

      • 第一类

        php5 -i | grep "加载的配置"

      进入终端找到您需要编辑的正确 php.ini 文件并在文本编辑器中打开它

      • 下一个类型

        找到 ZendDebugger.so

      进入终端并将位置复制到 php5 调试器文件。

      • 将这些行添加到 php.ini 文件的底部:

        [Zend]
        Zend_extension="[ZendDebugger.so 文件的路径]"
        zend_debugger.allow_hosts="127.0.0.1, [你的 IP 地址,如果需要的话]"
        zend_debugger.expose_remotely=总是
        替换为从您的 locate 命令返回的路径和您的 IP 地址。

    • 输入

      重启 PHP

      sudo /etc/init.d/apache2 重启

      进入终端。

    • 然后输入

      php5 -m

      命令进入您的终端以确保正确配置 Zend 调试器。你会看到类似的东西:

      xmlreader
      xmlwriter
      Zend 调试器
      拉链
      zlib

      [Zend 模块] Zend 调试器

      接近转储的尽头。如果您没有看到 Zend Debugger,那么请确保您编辑了正确的 php.ini 文件并确保您的 ZendDebugger.so 文件的路径有效。确保重新启动 PHP 以传播任何更改。

    配置 Eclipse

    接下来您必须配置 Eclipse:

    • 首先进入 Window > Preferences > PHP > PHP Executables 并确保安装了最新的 PHP CLI 库并将其设置为默认值。
    • 接下来通过转到 Window > Open Perspective > Other > PHP Debug 在 eclipse 中添加 PHP Debugging 透视图。
    • 现在转到 Window > Preferences > PHP > Debug 并单击 Configure Project Specific Settings。
    • 选择要调试的项目,点击确定。

      • 选中启用项目特定设置。
      • 这些是您需要的设置:

      PHP 调试器:Zend 调试器
      服务器:[项目的本地 URL 路径(应在 hosts 文件中配置)]
      PHP 可执行文件:5.3.x(或更高版本)

      默认基本 URL/基本路径:/
      自动生成的基本 URL:http://[local 项目的 URL 路径]

      • 取消选中 Break at First Line 选项并单击 OK 关闭配置窗口,然后取消选中主 PHP 调试页面上的相同选项。单击应用以保存设置。
    • 接下来转到 Window > Preferences > PHP > PHP Servers 并使用 URL 添加一个新的服务器配置

    http://[local 项目的 URL 路径]

    这应该与您在 dev' 中用于访问主页的主机配置中的 URL 相同。为配置命名并将其设置为默认值。单击完成和确定,然后重新启动 Eclipse。

    • 接下来转到 窗口 > 首选项 > 常规 > Web 浏览器,选择使用外部 Web 浏览器,然后选择在调试期间要与之交互的浏览器。 >注意:> 不要使用 Firefox! Zend PDT 绑定到它,如果不卸载并重新安装 firefox,您将无法将浏览器与调试器分离。到目前为止,Opera 浏览器与 Zend PDT 搭配使用效果最好,因此添加它的方法如下:
    • 安装 Opera 浏览器后,再次转到 Window > Preferences > General > Web Browser settings 并选择 New 并使用以下参数:

      名称:Opera
      位置:/usr/bin/opera
      参数:%URL%

      单击确定,如果存在则选择 Firefox 并将其删除,然后检查 Opera 并单击确定。

    • 再次重新启动 Eclipse,您就可以开始调试 PHP。

    使用调试器

    • 在 PHP 透视图中打开一个 PHP 文件,然后从“项目”菜单或选择“调试”图标旁边的向下箭头选择 Debug as > PHP Web Page
    • 您可能会看到一个警告窗口,要求您确认调试 URL。删除基本 URL 之后的所有内容以离开:

      http://[local 项目的 URL 路径]

      作为 URL 并单击确定。

    • 如果 eclipse 没有自动切换到 PHP Debug Perspective,那么请手动切换到它。

    • 转到您的浏览器并导航到您在上面配置的 URL。您可能需要向前运行调试器才能解析主页。有时您需要刷新并向前运行几次调试器,然后它才能完全绑定您的调试会话。
    • 您可以正常浏览站点,调试器将在断点处插入您的代码。

    疑难解答

    • 当 PHP 调试会话开始时,有时会话在页面加载之前结束,并且浏览器中的页面保持空白。尝试在调试堆栈视图中右键单击会话并选择重新启动。
    • 当调试会话第一次启动时,确保浏览器窗口中的 URL 显示为您配置的基本 URL,即删除 Zend 附加到 URL 的任何调试器参数。从现在开始,URL 应该清晰地显示出来。
    • 为了更顺畅地进行调试,请在完成 PHP 开发之前从 PHP 调试角度删除所有已终止的调试会话。
    • 注意不要在 PHP Debug 透视图处于焦点时关闭 eclipse,因为它需要很长时间才能关闭。

    【讨论】:

    • 这是一个非常棒的帖子。这实际上也帮助我调试了 Xdebug,配置 Eclipse 部分使我的 Xdebug 工作。另请注意,我的 Mac OSX Mountain Lion 上没有 php5 命令,相反,我能够使用 php 运行相同的命令。又是一个非常棒的帖子。这应该被标记为 Stack Overflow 上 Zend 调试器问题的指南
    猜你喜欢
    • 1970-01-01
    • 2019-04-17
    • 1970-01-01
    • 2011-08-18
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多