分配时耗尽内存

时间:2012-11-07 13:16:46

标签: php memory memory-management

CODE:

if (flock($fp, LOCK_EX))
{
    fwrite($fp, serialize($this->_contents));
    flock($fp, LOCK_UN);
}

错误:

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

错误行:

fwrite($fp, serialize($this->_contents));

知道如何解决这个问题吗?我的网站托管在共享主机上,因此我无法更改内存设置。

由于

2 个答案:

答案 0 :(得分:0)

最有可能serialize($this->_contents)是问题所在 我通常建议不要使用序列化将内容存储在数据库或文件中。

您应该将数据拆分为_contents并单独编写。

答案 1 :(得分:0)

  

它可能无法解决您的内存问题(因为您无法更改,因此无法更改),但它可能会让您获得更多控制权:

对于$this$this->_content的类,您可以实现以更加内存优化的方式返回数据的Serializeable

如果您真的可以对内存进行优化,那么您可以透明地将其与serialize一起使用。