在CakePHP中选择时出现内存错误

时间:2013-03-19 12:44:19

标签: web-services cakephp memory-management

我已经制定了Web服务。使用MySQL-DB .Web服务期望3个参数。 “From” - 值为To-Value,“fmt”为格式值。像这样:

"...requests?from=2011-10-18 16:15:00&to=2013-03-19 16:30:00&fmt=csv"

我得到的是

"Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 30720
 bytes) in...".

我知道这意味着什么,但我想出了以下内容。 在我选择之前(收集我想要返回的数据)触发器我只花费大约2.75MByte的内存。我的选择结束了,记忆大约是237,75MByte。好吧,如果有很多数据我会理解,但最后我创建了一个只有8.1MByte大的csv文件。关于蛋糕中的选择,我有什么必须知道的吗?

代码剪断:

$condition = array('conditions'=> array(
                         'created_at >= "'. $this->params['url']['from'].
                         '"AND created_at <="'. $this->params['url']['to'].'"'
                         )
                   );           
$this->output_data = $this->LogRequest->find('all', $condition);

1 个答案:

答案 0 :(得分:0)

我认为您使用的是ContainableBehavior

如果是这样,你应该在执行find()之前将递归设置为-1:

$this->LogRequest->recursive = -1;