【问题标题】:Remote debugging with XDebug and PHPStorm使用 XDebug 和 PHPStorm 进行远程调试
【发布时间】:2011-11-06 06:16:50
【问题描述】:

第一件事:

  • Server 是一个在 Debian 上运行的 Apache 的 VMPlayer
  • 主机是 Windows 7
  • 调试服务器是 XDebug
  • 文件可通过共享文件夹直接访问

重要提示:XDebug 已在 Apache 和我的 Win7 防火墙上正确配置。 我知道 b/c 我可以使用 Eclipse 进行调试

所以我失败的似乎是PHPStorm的基本配置。

让我告诉你更多细节:

  • 服务器IP:192.168.56.128
  • 我的主机IP:192.168.56.1

我要调试的文件是index.php:

  • 在我的 Win7 主机上的位置:C:\dev\sf\Symfony\
  • Debian 上的位置:\mnt\hgfs\sf\Symfony\
  • 网址:192.168.56.128/Symfony/index.php

无论我摆弄什么...我都会收到奇怪的错误消息,例如“等待来自 JetBrains PhpStorm 的连接...”或 PHPStorm 要求我提供 Mozillas profile.ini,即使我在 Web 浏览器中将 Chrome 配置为默认值。

所以我将建立一个新项目,希望有人告诉我我的配置有什么问题。

运行/编辑配置/默认值/PHP远程调试

  • 服务器:“Debian”
  • IDE 密钥:-
  • 在第一行中断:是

服务器

  • 名称:“Debian”
  • 主机:192.168.56.128
  • 端口:80
  • 调试器:Xdebug
  • 使用路径映射:是
  • 已配置一个路径映射:

C:\dev\sf\Symfony => /mnt/hgfs/sf/Symfony(也尝试过 /Symfony - b/c PHPStorm 不应该关心 /Symfony 之上的任何内容!?)

运行/编辑配置/默认值/PHP Web 应用程序

  • 服务器:“Debian”
  • 起始网址:/Symfony
  • 浏览器:Chrome
  • 在第一行中断:是

现在我选择:运行/调试.../1.index.php

我被要求提供:Mozilla 的 profile.ini ...但我找不到它

它在哪里……?

到目前为止,我已经知道 PHPStorm 启动了 Chrome。但也许我先解决这个问题。那么如何让 Firefox 启动并运行呢?我还使用 Firefox 和 Eclipse ... profile.ini 没有问题。

【问题讨论】:

标签: xdebug phpstorm


【解决方案1】:

如果您仍然遇到问题,制造商有两篇关于如何正确设置的博客文章。

First 在大多数情况下应该可以工作,并且需要 zero-configuration 而不是正常的 xdebug 安装

第二次详细介绍所有configuration settings in detail

【解决方案2】:

要在 PHP Storm 的“选择文件”对话框中“查看”profile.ini,只需在其中右键单击并选择“显示隐藏文件”,然后(在 WIn7 中)移动到 C:\Users\YOURUSERNAME\AppData\Roaming\Mozilla\Firefox 或操作系统中的等效项

【讨论】:

  • 问题是,最终我根本不需要那个文件。
  • 陈述您问题的一部分:“profile.ini ...但我找不到它在哪里...?” .. 搜索把我带到了这里,我错过了像我这样的评论..
【解决方案3】:

好的,我想和你分享三件事。这不是完整的配方,但首先让我感到困惑的关键成分是:

  1. 要配置的重要部分是“服务器”“PHP远程调试”

  2. 要配置“PHP 远程调试”,您必须首先使用左上角的 [+]添加新数据集。您只需单击“PHP R D”按钮即可获得的面板保持默认设置

  3. 关于虚拟机的绝对路径实际上是指从根目录开始的绝对路径 (\mnt\hgfs\sf\Symfony)。这让我感到困惑,因为我仍然不确定为什么 PhpStorm 关心共享文件夹上方的目录级别。但确实如此。

【讨论】:

  • 在一天工作了 3/4 的工作后,你刚刚救了我,我绝对需要使用这些东西进行远程调试,通过简单地说明他们在绝对路径部分寻找什么。我原本也想你做的一样的事情。谢谢楼主!
  • 以防万一,不要忘记设置 xdebug.remote_host 参数。默认情况下似乎指向 localhost。
【解决方案4】:
  1. 确保在 php.ini 中启用了远程调试

    xdebug.remote_enable = 1

  2. 您的服务器“192.168.56.128”应位于 PHP-> 服务器

  3. 添加PHP Web Application调试配置,并使用添加的服务器
  4. 设置断点并使用此配置开始调试

【讨论】:

  • -1 因为没有阅读我的问题:(1) 正如我所说,我可以使用 Eclipse 进行远程调试 - 所以它已启用 (2) 参见描述 (3) 参见描述 (4) 参见描述。 ..#
猜你喜欢
  • 2015-07-04
  • 2014-01-16
  • 2017-08-31
  • 2014-06-01
  • 2018-07-12
  • 1970-01-01
  • 2014-12-03
  • 2012-04-06
  • 2011-06-19
相关资源
最近更新 更多