0

我有一个安装了 DebugKit 的 CakePHP 2 应用程序。它工作正常,我在“时间”工具栏中为我加载的每个页面获取内存使用情况和处理时间。

我还希望能够在页面加载后获取 ajax 请求的内存使用情况和处理时间。我知道我可以使用 DebugKit 工具栏中的“历史记录”按钮访问以前的 ajax 请求,但是当我想单击页面、触发 ajax 请求并为它们获取即时调试信息时,这并没有真正的帮助。

因此,我进行了一些搜索,发现我可以在 Firefox 中使用 Firebug + FirePHP 以及我的应用程序中的 FirePHP 和 FireCake 库,并根据每个 ajax 请求获取 DebugKit 的所有统计信息。这听起来很完美,正是我想要做的。

不幸的是,我似乎无法让它工作。我只能在http://someguyjeremy.com/blog/using-firephp-to-debug-your-cakephp-app找到一个关于此事的教程

我已经完成了教程中提到的所有事情,Cake 完全没有给我任何错误。但是,除非我遗漏了某些东西,否则我看不到在 Firebug 中显示调试信息的位置,如果它确实首先被馈送到 Firebug。

我的配置:

蛋糕版本: 2.2.4

火狐版本: 17.0.1

Firebug 版本:尝试使用 1.11.1 和 1.9.0

FirePHP 版本: 0.7.1

DebugKit 版本: 2.2.0(最新的主分支)

更新

它似乎非常适用于不以 .json 结尾的 Ajax 请求,因此Router::parseExtensions('json');我在 routes.php 中没有接收到这些请求。

我取出Router::parseExtensions('json');并更改了我的 Ajax 请求以直接执行我的filter操作,而不是调用它filter.json,Cake 为所有 FireBug 标头提供服务。不幸的是,我不能这样使用它,因为 JQuery 需要内容类型为 application.json。

4

1 回答 1

1

看起来这可能是一个记录在案的错误:

http://cakephp.lighthouseapp.com/projects/42880/tickets/107-firephp-messages-are-not-sent-in-response-if-using-jsonxmlview-with-serialization

我的用例并不完全相同,但输出 json 会阻止 FirePHP 标头出现。如果我关闭 json 的 parse extensions 指令,FirePHP 标头就会出现。

于 2012-12-17T08:48:22.633 回答