【发布时间】:2017-01-17 12:00:28
【问题描述】:
我有一个控制器可以将大变量传递给视图,但考虑到上下文并没有什么不合理的(PHP 使用大约 100 MB 的 RAM)。
我的问题是 DebugKit 会生成一个大型临时文件,需要大量内存才能在下次运行时反序列化:
app\tmp\cache\cake_toolbar_cache7ee836dd8c8f85f0f69f716bad0bbd94
这与Solution to Fatal error - Allowed memory size exhausted in CakePHP FileEngine.php 中描述的问题相同,只是我的文件在每次页面加载时都会增长。无论我让 PHP 分配多少内存,它最终都会超过系统能够处理的限制。我需要手动删除文件并重新开始。
我不完全确定 DebugKit 试图处理的确切数据是什么,但该文件似乎包含一个顶级数值数组,每个子数组都包含我的数据集的完整副本。我怀疑它可能是请求历史记录。
我已确认当调试级别为零且 DebugKit 未加载时没有内存问题,因此在生产中不会出现问题,但在开发过程中会出现问题。有简单的解决方法吗?
【问题讨论】:
标签: cakephp cakephp-2.5 cakephp-debug-kit