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

Rya*_*n W 9 debugging symfony phpstorm

问题:

  • 我希望能够调试我的symfony2项目.我希望能够在我的代码中设置一个断点,运行远程调试,并在我与我的应用程序交互时能够遍历代码中的所有断点.

背景信息和当前设置:

  • 我使用的IDE是phpstorm.

  • Apache和mySql服务器正在我的vmware播放器上运行.

  • Xdebug安装在vmware播放器上.

  • 我目前通过我的vmware播放器ip(即172.16.48.1/app_dev.php)连接到我的项目.此时,我正常地与我的应用程序交互并开发.

到目前为止我做了什么

  • 我按照教程,但没有运气.

  • 我对大多数教程感到困惑,但我尽可能地遵循它.按照说明操作时,我不认为书签正常工作.

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

题:

  • 有人可以提供我需要做的设置远程调试的一步一步的教程,以便我可以通过phpstorm启动一些远程调试会话,这将打开我的Web应用程序,当我浏览我的Web应用程序时,我的断点会被点击吗?

gon*_*ndo 29

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

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

[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
Run Code Online (Sandbox Code Playgroud)

2)安装xdebug扩展 https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc

3)设置xdebug扩展.在chrome:// extensions中找到Xdebug帮助器并单击选项.选择IDE密钥到PhpStorm.(这将基本上为该特定会话将xdebug.idekey设置为PHPSTORM)

4)现在最棘手的部分,从PhpStorm连接.你必须设置PHP Remote Debug调试配置.

  1. 在工具栏中,在调试按钮旁边,您有第一个选项的下拉字段Edit configuration.它打开了Run/Debug Configurations.
  2. 单击+按钮并添加PHP Remote Debug.
  3. 指定你的名字,服务器和Ide key= PHPSTORM.
  4. 单击"应用"和"确定"(我永远不知道哪一个所以我总是单击这两个,以防万一)
  5. 现在工具栏中的下拉列表将显示新设置的远程服务器,运行按钮(绿色箭头)将被禁用.
  6. 点击 Start Listen for PHP Debug Connection
  7. 单击该绿色错误图标以开始调试
  8. 调试视图将打开,有2个选项卡:Debugger和Console(默认选中)
  9. 将选项卡更改为Debugger,您将看到:"正在等待与ide键'PHPSTORM'的传入连接"
  10. 打开你的浏览器
  11. 导航到您的服务器URL
  12. 激活Xdebug辅助扩展(点击url栏中的灰色bug)它将变为绿色
  13. 检查一切正常,打开Chrome控制台,选项卡资源 - > Cookies - >您的服务器.并验证创建了值为PHPSTORM的cookie XDEBUG_SESSION(这实际上是在php中激活xdebug远程调试)
  14. 现在刷新页面并快速alt-tab回到PhpStorm(或安排你的窗口,这样你可以在刷新浏览器时看到PhpStorm)
  15. 在Debug视图和Debugger控制台中,您将简要地看到"已连接"

TADA!

在控制器中创建几个断点(不要使用AppKernel.php或其他symfony2特定文件,因为它们被编译并且不会被调用,即使在开发模式下也是如此)


新增5.1.2015

官方教程可以在这里找到:https: //confluence.jetbrains.com/display/PhpStorm/Profiling+PHP+applications+with+PhpStorm+and+Xdebug