我有一个简单的代码,可从数据库中提取记录。问题所在的特定部分在这里:
while ($row = $results->fetch_array(MYSQLI_ASSOC))
{
$data[$count] = $row;
$count++;
}
因此,我正在运行一个简单的SELECT
SQL,期望从中获得约10万个结果。
如果while
循环结束后,没有超过50k的结果,则什至没有var_dump
。
但是,如果我SELECT
一行,则结果弹出。
我无权访问服务器配置。最长执行时间为60秒。
谢谢。
答案 0 :(得分:2)
您还可以从您的php代码中更改php.ini
的配置值。将其添加为函数的第一行
set_time_limit(0);
它将max_execution_time
的值更改为无限
答案 1 :(得分:0)
原来这是一个memory_limit
问题,仅分配了256M
。通过2048M
将限制设置为ini_set('memory_limit', '2048M')
可以解决此问题。
请记住,在PHP中执行set_time_limit(0)
被认为是不好的做法,因为PHP解释器将无限运行。 [Source]如果脚本需要此命令,则需要对其进行优化。