我正在开发我的网站,但是我收到了错误
"致命错误:允许的内存大小为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);
我有这些警报来跟踪它。有谁知道最后一行是如何造成麻烦的?
答案 0 :(得分:2)
你碰巧有blob专栏吗?
4294967296显示您正在尝试分配内存,无论是否同意,这是blob列的最大长度。
它也可能是一个错误,而不是泄漏,它可能来自绑定语句。
如果您有blob列,请尝试将其转换为select语句中的varchar。