我刚刚使用 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
2)安装xdebug扩展
https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc
3)设置xdebug exteions。在 chrome://extensions 中找到 Xdebug 助手并单击选项。在那里选择 IDE 键到 PhpStorm。(这实际上会将 xdebug.idekey 设置为该特定会话的 PHPSTORM)
4) 现在是最棘手的部分,从 PhpStorm 连接。您必须设置PHP Remote Debug
调试配置。
- 在工具栏中,在调试按钮旁边,您有带有第一个选项的下拉字段
Edit configuration
。它打开Run/Debug Configurations
。
- 在那里单击
+
按钮并添加PHP Remote Debug
.
- 指定您的姓名、服务器和
Ide key
= PHPSTORM
。
- 单击应用和确定(我不知道是哪一个,所以我总是单击两者,以防万一)
- 现在工具栏中的下拉菜单将显示您新设置的远程服务器,运行按钮(绿色箭头)将被禁用。
- 点击
Start Listen for PHP Debug Connection
- 单击那个绿色的错误图标开始调试
- 调试视图将打开 2 个选项卡:调试器和控制台(默认选中)
- 将选项卡更改为调试器,您将看到:“等待与 ide 键 'PHPSTORM' 的传入连接”
- 打开你的浏览器
- 导航到您的服务器网址
- 激活 Xdebug 助手扩展(点击 url 栏中的那个灰色错误)它会变成绿色
- 要检查一切是否正常,请打开 Chrome 控制台,选项卡资源 -> Cookies -> 您的服务器。并验证是否创建了值为 PHPSTORM 的 cookie XDEBUG_SESSION(这实际上是在 php 中激活 xdebug 远程调试)
- 现在刷新页面并快速 alt-tab 回到 PhpStorm(或安排你的窗口,以便在刷新浏览器时可以看到 PhpStorm)
- 在您的调试视图和调试器控制台中,您将简要看到“已连接”
多田!
在控制器中创建几个断点(不要使用 AppKernel.php 或其他 symfony2 特定文件,因为它们会被编译并且不会被调用,即使在开发模式下也是如此)
2015 年 1 月 5 日添加
官方教程可以在这里找到:
https ://confluence.jetbrains.com/display/PhpStorm/Profiling+PHP+applications+with+PhpStorm+and+Xdebug