Debugging 如何使用phpstorm和xdebug设置symfony2的远程调试

Debugging 如何使用phpstorm和xdebug设置symfony2的远程调试,debugging,symfony,phpstorm,Debugging,Symfony,Phpstorm,问题: 我希望能够调试我的symfony2项目。我想成为 能够在我的代码中设置断点,运行远程调试并 能够在交互时逐步完成代码中的所有断点 我的申请书 背景信息和当前设置: 我使用的IDE是phpstorm Apache和mySql服务器正在我的vmware player上运行 Xdebug安装在vmware player上 我目前通过vmware Player ip连接到我的项目 (即172.16.48.1/app_dev.php)。在这一点上,我与我的朋友互动 正常应用和开发 我到目前

问题:

  • 我希望能够调试我的symfony2项目。我想成为 能够在我的代码中设置断点,运行远程调试并 能够在交互时逐步完成代码中的所有断点 我的申请书
背景信息和当前设置:

  • 我使用的IDE是phpstorm

  • Apache和mySql服务器正在我的vmware player上运行

  • Xdebug安装在vmware player上

  • 我目前通过vmware Player ip连接到我的项目 (即172.16.48.1/app_dev.php)。在这一点上,我与我的朋友互动 正常应用和开发

我到目前为止所做的事情

  • 我跟随了,但没有任何运气

  • 我真的被大部分教程弄糊涂了,但我尽可能地遵循它。我不认为bookmarklet在按照说明操作时工作正常

  • 我还观看了一两场关于远程调试的网络研讨会,但我仍然不完全清楚我需要做什么来逐步完成我的代码

问题:

  • 有人能提供一个我需要做什么的一步一步的教程吗 设置远程调试,以便我可以启动一些远程调试 通过phpstorm打开我的web应用程序的会话 浏览我的web应用程序我的断点会被击中吗

我刚刚完成了本地symfony2应用程序的设置,并使用Chrome完成了phpstorm调试,下面是我所做的:

1) 在服务器上的php.ini中配置xdebug并重新启动web服务器(或php fpm):

2) 安装xdebug扩展插件

3) 设置xdebug扩展。在里面chrome://extensions 找到Xdebug帮助程序并单击“选项”。在PhpStorm中选择IDE键。(这将基本上为该特定会话将xdebug.idekey设置为PHPSTORM)

4) 现在是最棘手的部分,从PhpStorm连接。 您必须设置
PHP远程调试
Debug配置

  • 在工具栏中,调试按钮旁边有一个带有第一个选项的下拉字段
    编辑配置
    。它打开
    运行/调试配置
  • 单击
    +
    按钮并添加
    PHP远程调试
  • 指定您的名称、服务器和
    Ide密钥
    =
    PHPSTORM
  • 单击Apply和Ok(我不知道是哪一个,所以我总是同时单击这两个,以防万一)
  • 现在,工具栏中的下拉菜单将显示新设置的远程服务器,运行按钮(绿色箭头)将被禁用
  • 单击开始侦听PHP调试连接
  • 单击那个绿色的bug图标开始调试
  • 调试视图将打开,有两个选项卡:调试器和控制台(默认选择)
  • 将选项卡更改为Debugger,您将看到:“正在等待ide键'PHPSTORM'的传入连接”
  • 打开浏览器
  • 导航到您的服务器url
  • 激活Xdebug助手扩展(单击url栏中的灰色bug),它将变为绿色
  • 要检查一切是否正常,请打开Chrome控制台,选项卡Resources->Cookies->您的服务器。并验证是否创建了值为PHPSTORM的cookie XDEBUG_会话(这实际上激活了php中的XDEBUG远程调试)
  • 现在刷新页面并快速将alt选项卡返回到PhpStorm(或者排列窗口,以便在刷新浏览器时可以看到PhpStorm)
  • 在调试视图和调试器控制台中,您将短暂看到“已连接”
  • 塔达

    在控制器中创建两个断点(不要使用AppKernel.php或其他特定于symfony2的文件,因为这些文件已编译,即使在开发模式下也不会被调用)


    于2015年1月5日添加

    官方教程可在此处找到:
    一切正常,直到我设置了一个断点。由于Symfony2是前端控制器,它不知道哪个对应的文件与断点匹配。 我试图设置路径映射,但没有成功


    总比一篇文字好:我会看这篇文章,看看它是否对我有帮助。如果有什么帮助的话,它将帮助我为其他人提出一个更明智的问题,以帮助我理解我做错了什么。这篇文章(也应该包含在该视频中):我试图遵循您提供的链接,但仍然无法使其起作用。当我按照如何使用它们的说明操作时,教程中的书签集似乎没有任何作用。。。我能说什么呢。我不知道你在那里到底做了什么;如果debug实际安装和配置正确(我不知道您的经验;我见过许多人声称“所有安装都正确”,但实际上情况正好相反);IDE也是如此。原因很简单——你没有提供任何关于这方面的信息。我建议您在PhpStorm论坛上创建新的线程,它更适合此类案例/讨论:尝试安装
    Symfony2插件
    它为您完成所有映射
    [xdebug]
    zend_extension="**location to xdebug**/xdebug.so"
    xdebug.remote_enable = 1
    ; use port 9009 because php-fpm uses 9000 by default
    xdebug.remote_port = 9009
    xdebug.idekey = PHPSTORM