【发布时间】:2018-12-03 18:37:16
【问题描述】:
在 PHP 5 中,我的程序正在运行,但是当我将其更改为 PHP 7 时,表格的内容没有显示。这是错误
致命错误:内存不足(已分配 12582912)(试图分配 12582920 字节)在 E:\xampp\htdocs\account\classes\class.user.php 上 第 216 行
代码错误
for ($i=0; ($row = Sql::fetch_array($resource)) !== FALSE; $i++) {
$users[$i] = new User($row["userId"], $dealerId);
$users[$i]->populate();
这是getAllUsers()的全部代码
public static function getAllUsers($dealerId) {
$users = array();
$sql_query = "SELECT userId FROM dealer_users WHERE dealerId='".$dealerId."' ORDER BY username ASC";
$sql_query_1 = "SELECT COUNT(*) FROM dealer_users WHERE dealerId='".$dealerId."'";
self::$lastCount = Sql::fetch_first_row_column($sql_query_1);
$resource = Sql::query($sql_query) or die(mysqli_error($sql_query));
for ($i=0; ($row = Sql::fetch_array($resource)) !== FALSE; $i++) {
$users[$i] = new User($row["userId"], $dealerId);
$users[$i]->populate();
}
Sql::free_result($resource);
return $users;
}
【问题讨论】:
-
它检索了多少行?您在询问数据库 - 但丢弃了结果 - 为什么?填充后用户对象的平均大小是多少? User::populate() 做什么?你的最大内存设置是多少?脚本在 PHP 5 中运行时的峰值使用量是多少?
-
(提示这是 6 个问题,可能会给我们一些关于正在发生的事情的线索)
-
根据错误信息,您的内存限制配置为大约 12 MB。这是一个非常非常小的价值
-
@Nico:不,它正在尝试分配比当前多 12MB 的空间:)