PHP意外内存使用情况

时间:2016-07-29 13:58:49

标签: php memory memory-management

我正在开发我的网站,但是我收到了错误

  

"致命错误:允许的内存大小为134217728字节耗尽(尝试分配4294967296字节)..."。

奇怪的是它工作正常,我的内存使用量大约为500,000,直到我的代码中的一行:

 echo'<script>alert("'."X-".memory_get_usage(true).'");</script>';
 $queryX = "SELECT `data`,`image`,`date` FROM messages WHERE toX = ? or fromX = ?";
 echo'<script>alert("'."X2-".memory_get_usage(true).'");</script>';
 $stmtX = $connection->prepare($queryX);
 echo'<script>alert("'."X3-".memory_get_usage(true).'");</script>';
 $stmtX->bind_param('ss',$idlistX[$i],$idlistX[$i]);
 echo'<script>alert("'."X4-".memory_get_usage(true).'");</script>';
 $stmtX->bind_result($dataT,$imageT,$dateT);

我有这些警报来跟踪它。有谁知道最后一行是如何造成麻烦的?

1 个答案:

答案 0 :(得分:2)

你碰巧有blob专栏吗?

4294967296显示您正在尝试分配内存,无论是否同意,这是blob列的最大长度。

它也可能是一个错误,而不是泄漏,它可能来自绑定语句。

如果您有blob列,请尝试将其转换为select语句中的varchar。