问题标签 [xdebug-profiler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Windows localhost 上的 PhpStorm 和 xdebug 分析器设置
我很难让 xdebug 分析工作并集成到 PhpStorm 2017。我试图跟随这个视频但没有成功。
我知道 xdebug 已正确安装在 Web 服务器上(Windows 上的本地 Apache 安装)并正确集成到 PhpStorm 中,因为当我在 IDE 中单击“开始侦听 PHP 调试连接”时,我的断点会停止代码执行,我只能调试美好的。我只是无法让探查器生成它的文件,我什至不知道它是否正在运行。
php.ini
在我的 PHP 执行开始时,我尝试像这样打开分析:
我还尝试使用以下命令从命令行运行脚本:
不会引发错误。也没有创建文件C:\websites\tmp
。
我遇到了最简单的 Xdebug扩展,但如果可以避免的话,我宁愿不依赖其他软件(而且我什至没有尝试过它是否可以工作)。
- PHP 5.6
- 阿帕奇 2.4
- xdebug 2.5.5
- 2017 年 PHP 风暴
- 视窗 7 64 位
更新
我了解了xdebug.remote_log
ini 指令并将其设置为一个文件,然后重新启动了 Apache。这是我在运行正常调试会话时在日志中看到的内容(意味着我在 PhpStorm 中单击“开始侦听 PHP 调试连接” ):
正如我所说,调试工作正常。现在,如果不监听调试但尝试使用命令行参数php script.php -d xdebug.profiler_enable=1
或在脚本中启用探查器ini_set('xdebug.profiler_enable','1')
,这就是 xdebug 日志显示的内容
更新 2
我只是能够生成探查器的cachegrind.out文件!我还不知道完成这项工作的确切限制,但我所做的是取消注释上面的php.inixdebug.profiler_enable
行并重新启动 Apache。我仍然需要一种方法来按需启用分析器,就像我在顶部链接的视频中那样。在php.ini中始终打开它会增加太多开销,因为大多数时候我不需要分析器数据
php - PhpStorm 不会打开 xdebug profiler 快照文件
==================================================== =======
忽略此帖。可以在PHP auto_prepend_file 中找到关于此问题的更简单的说明,导致 xdebug 分析器失败
==================================================== =======
原始帖子(和更新)
当我尝试使用以下命令在 PhpStorm 中打开 xdebug 分析器快照时:
菜单栏 >> 工具 >> 分析 xdebug profiler 快照...
我选择了创建的文件 xDebug,但我遇到了这个错误:
错误:探查器快照格式不正确:名称格式不正确
我没有重命名快照。它是默认名称:cachegrind.out.8008
php.ini
为什么 PhpStorm 不会打开快照?我应该设置自定义xdebug.profiler_output_name
选项吗?
更新
我关闭了所有项目,从 PhpStorm 升级2017.1.4
到2017.2
,重新启动 Apache,删除了旧快照并创建了一个新快照。 新的打开没有麻烦。
更新 2
似乎如果我通过调用从命令行运行文件,>php script.php
则可以打开生成的快照。如果我从浏览器运行相同的文件(意味着我通过 Apache 网络服务器:)localhost/script.php
,则无法打开快照。
更新 3
我还注意到,当我从浏览器执行时,我无法删除快照,直到我强制停止 Apache 进程。我正在分析的 PHP 文件没有说明:只是<?php
. 以下是创建的两个快照:
从命令行执行时(PhpStorm 打开此文件没有问题):
从浏览器执行时(PhpStorm 无法打开此快照):
更新 4
罪魁祸首是auto_prepend_file
ini设置。我在 Apache Vhosts 中有以下设置:
该文件在 Apache 执行从浏览器调用的脚本之前运行。当我从命令行运行脚本时,此设置(在我的 Apache Vhosts 配置中)永远不会生效,因此init.php
不会运行。相反,如果我将设置移动到php.ini
它也会影响命令行执行的位置,那么从命令行生成的快照也会停止工作。
如果我删除该auto_prepend_file
设置,生成的分析器快照可以在 PhpStorm 中毫无问题地打开。当然这不是一个修复,因为我需要auto_prepend_file
执行才能让我的应用程序正常工作。
php - PHP auto_prepend_file 导致 xdebug 分析器失败
我在运行 Apache 2.4 和 PHP 5.6 的 Windows 7 机器上使用 xDebug 2.5.5。xDebug 探查器工作正常,除非我使用php auto_prepend_file
在php.ini中
或在Apache Vhost中
在任何一种情况下,添加此指令都会导致生成的分析器快照cachegrind.out.####以某种方式损坏。我无法在 PhpStorm(我的 IDE)或使用WinCacheGrind打开它。另外,在我杀死 Apache 进程之前,我无法删除快照
WinCacheGrind 错误
模块“WinCacheGrind.exe”中地址 004A5908 的访问冲突。
读取地址 00000000
PhpStorm 错误
不正确的 Profiler 快照格式:不正确的名称格式
有什么建议吗?
PS:我投票结束了我之前被错误标记的问题b/c 我认为我的问题与 PhpStorm 而不是 xDebug 有关
php - xdebug 探查器 laravel 5.5 windows 空grindfile
我正在尝试使用 xdebug 2.5.5 php 版本 7.0.0 在 Windows 8.1 机器上分析 Laravel 5.5 应用程序。php 作为 cgi 运行
调试效果很好,我可以调试,但是分析器文件充满了这个 Laravel 错误(这仅适用于 Laravel 应用程序,在简单的 php 文件分析中工作正常):
我已经尝试使用 xdebug 2.5.5 php 版本 7.1.9。一样。
这是 xdebug 设置:
php - Xdebug 探查器不写入文件
我正在使用 MAMP,并且在扩展选项卡中启用了 xdebug。调试工作正常,但探查器不写入任何文件。
php.ini
我有 xdebug 扩展,它在“分析器”上切换。我已经确定chmod
了输出文件夹以777
确保它不是权限问题。
我错过了什么?
php - 启用 xdebug.profiler_aggregate 时启动 MAMP 后的 ERR_EMPTY_RESPONSE
当我设置xdebug.profiler_aggregate=1
然后 localhost 不再起作用并在 Chrome 中给出 ERR_EMPTY_RESPONSE (Safari 和 Firefox 也不起作用)。设置xdebug.profiler_aggregate=0
一切正常。
禁用 xdebug.profiler_aggregate 的工作 php.ini 文件:
有人知道如何解决这个问题吗?
php - Xdebug 探查器 - 探查器快照格式不正确
我正在尝试在 PhpStorm 中打开 xdebug 分析器输出,但出现错误:
我似乎找不到任何可能导致这种情况的迹象。
我在 OSX 10.13.4,PhpStorm 版本 2018.1 上,使用 xdebug 2.5.5 在 PHP 5.6.33 上运行进程
这是我的 php.ini 配置:
我认为探查器输出看起来有点奇怪,例如:
我不知道括号中的这些数字是做什么用的,但我认为这就是使 PhpStorm 分析器跳闸的原因。
php - 如何从 Xdebug 获取 stack_trace 并在其上构建?
我试图弄清楚是否有一种方法可以从 Xdebug 获取 stack_trace 信息,类似于 PhpStorm 或 NetBeans 之类的 IDE 如何获取它来存储它并进一步处理它。
非常感谢任何帮助。
php - 如何将多个 coverage-html 报告合并到一个报告中
我的 Web 服务是用 Laravel 5.6 编写的,这些服务由用 Cordova 编写的移动应用程序使用。我正在使用 Katalon Studio 来测试这个移动应用程序和它所使用的服务,并且我能够实现它。此外,每次从移动应用程序向 Web 服务发起请求时,我都能够生成覆盖率报告,但这里的问题是,它会根据移动应用程序命中的端点为我提供特定部分的覆盖率报告。现在,我为 Web 服务生成了几个 html 覆盖率报告,并正在寻找一种解决方法来组合所有这些报告。
PS:另外,我尝试生成三叶草 XML 覆盖率报告并能够组合它们,但不知道如何以图形方式表示它。
请帮助我,任何建议将不胜感激!