使用 XDebug 和 PHPStorm 调试 Symfony2

2023-12-30

我尝试着尝试,但我无法在 PHPStorm 中使用 XDebug 为 Symfony2 获得正确的调试配置。

我已经检查并重新检查过

  • phpstorm xdebug 与 symfony2 项目 https://stackoverflow.com/questions/29671347/phpstorm-xdebug-with-a-symfony2-project and

  • 如何使用 phpstorm 和 xdebug 为 symfony2 设置远程调试 https://stackoverflow.com/questions/18517083/how-to-set-up-remote-debugging-for-symfony2-with-phpstorm-and-xdebug

并遵循了jetbrains教程,但没有办法做到这一点。

这是我正在尝试调试的 Symfony2 的 REST API。到目前为止,我有一个带有 Apache2 的虚拟主机,它在 URL 中运行良好

host: sd.lo

api 的路由前缀是

/api/v1

所以访问

http://sd.lo/api/v1/clients

工作正常,我收到了一份客户名单

安装

XDebug 已正确安装,如我的 phpinfo() 中所示并使用命令

在我的 /usr/local/etc/php/5.5/conf.d/ext-xdebug.ini (正确加载)中,我有:

[xdebug]
zend_extension="/usr/local/Cellar/php55-xdebug/2.3.3/xdebug.so"
xdebug.profiler_output_dir="/tmp/xdebug/"
xdebug.profiler_enable=on
xdebug.remote_enable=on
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.idekey = PHPSTORM

并用命令

/usr/local/Cellar/php55/5.5.28/bin/php -v

PHP 5.5.28 (cli) (built: Aug 13 2015 14:02:41) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
    with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans

在 PHPStorm 中

我已经在 PHPStorm 中正确设置了 PHP 解释器(我在 OSX 中安装了多个 PHP 版本。Brew 安装是我想要使用的),所以:

Path executable: /usr/local/Cellar/php55/5.5.28/bin/php
Debugger: XDebug 2.3.3 so is correct

在 PHPStorm 首选项 > PHP > 服务器中我有一个服务器

Name: Project.com
Host: sd.lo (root for my Virtual Host)
Port: 80
Debugger: XDebug
Use path mappings: UNCHECKED as I believe Symfony2 Plugin makes this for me

在调试配置中我添加了 PHP 远程调试

Name: ApiBundle
Server: Project.com (which host was sd.lo)
Ide Key: PHPSTORM

在 Chrome 中

  • 我已经安装了 XDebug Helper 扩展并在 IDE Key 中选择了 PHPStorm
  • 检查 cookie,我看到 cookie XDEBUG_SESSION=PHPSTORM

And then

  • 我在其中一个控制器中设置了几个断点
  • 我将 PHPStorm 中的电话图标切换为:开始侦听 PHP 调试连接
  • 我检查我的调试选项卡中是否有:等待带有 ide key 的传入连接:PHPSTORM

可能:

  • 当我使用虚拟主机时,我有 xdebug.remote_host="localhost" 吗?

  • 我的 PHP 服务器指向错误的 URL?

  • 我需要配置映射吗?我如何为 Symfony 执行此操作?

如果我在 PHP 脚本中的第一行设置“运行”>“中断”并重新加载页面,脚本实际上会在 app_dev.php:13 处停止,但我的断点没有任何反应。

有谁可以照亮我吗?

Edit

这是我的 xdebug 的 phpinfo()

xdebug support  enabled
Version 2.3.3
IDE Key PHPSTORM

Supported protocols Revision
DBGp - Common DeBuGger Protocol $Revision: 1.145 $

Directive   Local Value Master Value
xdebug.auto_trace   Off Off
xdebug.cli_color    0   0
xdebug.collect_assignments  Off Off
xdebug.collect_includes On  On
xdebug.collect_params   0   0
xdebug.collect_return   Off Off
xdebug.collect_vars Off Off
xdebug.coverage_enable  On  On
xdebug.default_enable   On  On
xdebug.dump.COOKIE  no value    no value
xdebug.dump.ENV no value    no value
xdebug.dump.FILES   no value    no value
xdebug.dump.GET no value    no value
xdebug.dump.POST    no value    no value
xdebug.dump.REQUEST no value    no value
xdebug.dump.SERVER  no value    no value
xdebug.dump.SESSION no value    no value
xdebug.dump_globals On  On
xdebug.dump_once    On  On
xdebug.dump_undefined   Off Off
xdebug.extended_info    On  On
xdebug.file_link_format no value    no value
xdebug.force_display_errors Off Off
xdebug.force_error_reporting    0   0
xdebug.halt_level   0   0
xdebug.idekey   PHPSTORM    PHPSTORM
xdebug.max_nesting_level    256 256
xdebug.max_stack_frames -1  -1
xdebug.overload_var_dump    On  On
xdebug.profiler_aggregate   Off Off
xdebug.profiler_append  Off Off
xdebug.profiler_enable  On  On
xdebug.profiler_enable_trigger  Off Off
xdebug.profiler_enable_trigger_value    no value    no value
xdebug.profiler_output_dir  /tmp/xdebug/    /tmp/xdebug/
xdebug.profiler_output_name cachegrind.out.%p   cachegrind.out.%p
xdebug.remote_autostart Off Off
xdebug.remote_connect_back  Off Off
xdebug.remote_cookie_expire_time    3600    3600
xdebug.remote_enable    On  On
xdebug.remote_handler   dbgp    dbgp
xdebug.remote_host  localhost   localhost
xdebug.remote_log   no value    no value
xdebug.remote_mode  req req
xdebug.remote_port  9000    9000
xdebug.scream   Off Off
xdebug.show_exception_trace Off Off
xdebug.show_local_vars  Off Off
xdebug.show_mem_delta   Off Off
xdebug.trace_enable_trigger Off Off
xdebug.trace_enable_trigger_value   no value    no value
xdebug.trace_format 0   0
xdebug.trace_options    0   0
xdebug.trace_output_dir /var/tmp/   /var/tmp/
xdebug.trace_output_name    trace.%c    trace.%c
xdebug.var_display_max_children 128 128
xdebug.var_display_max_data 512 512
xdebug.var_display_max_depth    3   3

但没有创建 /tmp/xdebug 文件:S


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 XDebug 和 PHPStorm 调试 Symfony2 的相关文章

随机推荐

  • BeagleBone Black (v4.14) 上的 PWM 芯片到引脚映射

    关于如何在较新版本的内核上配置 Beaglebone 进行 PWM 的信息非常少 我按照以下指示进行操作BeagleBone Black v4 14 上的 PWM https stackoverflow com questions 5020
  • Twitter 登录停止工作“抱歉,该页面不存在”

    我使用 PFTwitterUtils loginWithBlock 方法通过 Twitter 登录用户 这一直工作得很好 我的应用程序的名称出现在用户名和密码上方 可供用户输入 然而 最近 可能与安装 Fabric io 相对应 也可能不相
  • 从生日计算年龄 - SQL、Oracle 和任何其他

    我经常看到有人认为DATEDIFF YEAR date of birth GETDATE 将产生该人的当前年龄 不幸的是 这是不正确的 这DATEDIFF函数 至少在 SQL Server 中 不会计算两个日期之间的整年数 它会计算跨越的历
  • 无需 tnsnames.ora 即可通过 RODBC 连接到 Oracle

    我正在尝试使用 RODBC 从 R 连接到 Oracle 而不使用 tnsnames ora 我尝试过跟随字符串 但它们都不起作用 gt con text lt paste0 Driver OracleODBC 11g Dbq oracle
  • 捕获空指针异常是一种代码味道吗?

    最近 我的一位同事编写了一些代码来捕获整个方法周围的空指针异常 并返回单个结果 我指出空指针的产生可能有多种原因 因此我们将其更改为针对一个结果的防御性检查 然而 捕获 NullPointerException 对我来说似乎是错误的 在我看
  • 为什么这个片段给我的行号不正确?

    我抛出一个错误 我注意到 Stackoverflow 和 JSFiddle 在堆栈跟踪上给了我不正确的行号 function foo let stackTrace new Error stack console log stackTrace
  • 在此示例中 0xFFFFFFFF 有何用途?

    我知道 arc4random 返回一个最大 2 32 1 的无符号整数 在这种情况下 它总是给出 0 到 1 之间的数字 var x UInt32 arc4random 0xFFFFFFFF 除以 0xFFFFFFFF 如何导致数字在 0
  • 在JMeter性能测试中监控Jboss中的资源使用情况

    我们正在对 JBoss 4 0 5 部署的 Web 应用程序执行一些 JMeter 测试 我们希望将服务器上应用程序的资源使用情况 内存 线程等 与 JMeter 响应时间结果集成起来 我们找到了使用 Tomcat 执行此操作的教程 我们想
  • PyDES 与 Bloomberg 数据

    我正在尝试使用 PyDES 解密 DES 编码的 Bloomberg 财务数据 该文件以 gz enc 结尾 我可以将该文件读取为二进制文件 将二进制文件重新加载回变量 该变量有数据 然后对其使用以下解密 k pyDes des passw
  • 安装OpenCV并使用GCC编译C程序

    作为我正在进行的一个更大项目的一部分 我需要在 C 程序上使用 OpenCV 库 我在 Fedora 17 32 位中使用 yum 安装了 OpenCV 和 opencv devel 我指示预处理器导入 opencv cv h 和 open
  • Jfreechart获取鼠标坐标

    我一直在尝试获取 JfreeChart 中的当前鼠标坐标 并发现以下解决方案部分有效 JFreeChart获取鼠标坐标 https stackoverflow com questions 1512112 jfreechart get mou
  • 如何打印迷宫中从源到目标的 BFS 路径

    我正在尝试实现 BFS 以便找到迷宫中从源到目标的最短路径 我遇到的问题是我无法打印路径 它在迷宫中打印为 但是如何从 BFS 的前辈中提取路径而不打印所有访问过的节点 这是我的代码供您编译 include
  • 如何避免在 PowerShell 脚本中保存用户名和密码

    所以基本上我想编写一个 Powershell 脚本 它将导出 Windows Server 备份的最后 1 天的备份日志 将信息格式化为一个漂亮的小表 然后 SMTP 将其发送到客户本地 Exchange 之外的外部位置 我有一个可以用于此
  • Python 中的协程与 Lua 中的协程相比如何?

    Lua 中对协程的支持由中的函数coroutine table https www lua org manual 5 3 manual html 2 6 主要是create resume and yield 开发人员将这些协程描述为堆栈式
  • Autoconf 子目录与子包相互依赖吗?

    我手上有一个大型项目 master 它被分成几个组件 liba b c d 以方便构建和维护 在构建整个包时 必须按顺序构建所有子组件 并且其中一些包相互依赖 更明确地说 liba 是 b c 和 d 的先决条件 并且 liba 的存在由配
  • 给定一个列表,如何仅对每两个元素满足二元谓词的子列表执行某些转换?

    在我的实际用例中 我有一个类型列表 SomeType SomeType具有有限数量的构造函数 且全部为 null 下面我将使用String代替 SomeType 并且只使用4Chars 稍微简化一下 我有一个这样的清单 aaassddddf
  • Perl:如何分割文件?

    我需要将一个文件分成不同的文件 示例 原始文件 3123123 RAW text1 text2 2312354 RAW text3 期望的输出 文件1 txt 3123123 RAW text1 text2 文件2 txt 31231235
  • git:如何将git注释添加的消息推送到中央git服务器?

    似乎没有关于 git 注释的适当文档 我使用 git Notes add 命令向其中一个提交添加了一些注释 但是当我推送提交并稍后进行单独的克隆时 我在那里看不到注释消息 有没有办法推送通过 git Notes 命令添加的所有注释消息 推送
  • Xrm.Utility.openwebresource 打开新选项卡

    我们有一个 onprem crm 2016 我只需单击功能区按钮即可打开一个 html web 资源 我在用着Xrm Utility openWebResource 问题是我们使用的是 IE11 并且所有用户的浏览器都配置为让 IE 决定如
  • 使用 XDebug 和 PHPStorm 调试 Symfony2

    我尝试着尝试 但我无法在 PHPStorm 中使用 XDebug 为 Symfony2 获得正确的调试配置 我已经检查并重新检查过 phpstorm xdebug 与 symfony2 项目 https stackoverflow com