对于可能需要 2GB 内存的对象,这是一个var_dump实现吗>?

Is ther a var_dump implementation for objects that may take > 2GB of ram?

提问人:Dimitrios Desyllas 提问时间:9/19/2023 更新时间:9/20/2023 访问量:35

问:

对于调试目的,一旦我这样做,如果我在 magento 上开发,可能需要 > 2GB 的内存。var_dump

因此,我正在寻找一种替代方法来检查对象及其内容,而无需修改 php 设置或代码库。

我的想法是一个片段,我可以在其中复制/粘贴代码并使用它。

PHP 调试

评论

0赞 ADyson 9/19/2023
也许使用print_r并发送到文件?为什么无论如何都需要检查 2GB 的变量?
0赞 Markus Zeller 9/19/2023
var_export()将是我的最佳选择。
0赞 Dimitrios Desyllas 9/19/2023
尽管如此var_export会导致公羊爆炸。Is可以按顺序读取对象并将其写入。
0赞 aynber 9/19/2023
Magento的对象中有很多递归和额外的东西。在你转储它之前,我可能会json_encode它或序列化它。
1赞 AmooAti 9/21/2023
您使用的是哪个版本的Magento?Magento现在具有通常适用于任何功能的功能,如果可变音量超过特定限制,则显示的深度会减少。dddump

答:

1赞 Jason Olson 9/20/2023 #1

您可能需要重新考虑如何使用var_dump,如果您要转储那么多数据。但是,您可能需要考虑

https://symfony.com/doc/current/components/var_dumper.html

这是一个改进的var_dumper工具,它还将有助于格式化和管理大型对象。它是一个独立的组件,也是 Symfony 框架的一部分。除其他外,它还提供了在简单的 Web 界面之外转储数据的方法。此外,您可能还想改为查看 XDebug。