Php 在长时间的SQL结果之后,执行突然停止
我有一个从数据库中提取记录的简单代码。问题所在的具体部分如下:Php 在长时间的SQL结果之后,执行突然停止,php,mysql,database,Php,Mysql,Database,我有一个从数据库中提取记录的简单代码。问题所在的具体部分如下: while ($row = $results->fetch_array(MYSQLI_ASSOC)) { $data[$count] = $row; $count++; } 因此,我运行了一个简单的SELECTSQL,我期望从中得到大约100k个结果。 如果在循环运行时,后的结果超过~50k,则没有任何结果,甚至没有变量转储 但是如果我选择一行,结果就会弹出 我没有访
while ($row = $results->fetch_array(MYSQLI_ASSOC))
{
$data[$count] = $row;
$count++;
}
因此,我运行了一个简单的SELECT
SQL,我期望从中得到大约100k个结果。
如果在循环运行时,后的结果超过~50k,则没有任何结果,甚至没有变量转储
但是如果我选择一行,结果就会弹出
我没有访问服务器配置的权限。最长执行时间为60秒
多谢各位 您也可以从php代码中更改php.ini
配置值。将此添加为函数的第一行
set_time_limit(0);
它会将max\u execution\u time
值更改为无限您也可以从php代码中更改php.ini
配置值。将此添加为函数的第一行
set_time_limit(0);
它会将max\u execution\u time
值更改为无限结果表明这是一个内存限制
问题,只分配了256M
。使用ini\u set('memory\u limit','2048M')
将限制设置为2048M
,解决了问题
请记住,在PHP中执行set\u time\u limit(0)
被认为是一种不好的做法,因为PHP解释器将无休止地运行。如果脚本需要此命令,则需要对其进行优化 结果表明这是一个内存限制问题,只分配了256M
。使用ini\u set('memory\u limit','2048M')
将限制设置为2048M
,解决了问题
请记住,在PHP中执行set\u time\u limit(0)
被认为是一种不好的做法,因为PHP解释器将无休止地运行。如果脚本需要此命令,则需要对其进行优化 php日志中有错误吗?请尝试在您的while中添加:设置时间限制(0);您真的需要手动向变量添加100000行吗?来一杯怎么样?也许你的记性不够了。你的内存限制是多少?尝试每隔几行打印一次memory\u get\u usage()?你想实现什么?php日志中有错误吗?试着在你的while中添加这个:设置时间限制(0);您真的需要手动向变量添加100000行吗?来一杯怎么样?也许你的记性不够了。你的内存限制是多少?尝试每隔几行打印一次memory\u get\u usage()?你想达到什么目的?这是一个很糟糕的做法。。。这并不能解决我的问题。这是一个很糟糕的做法。。。这并不能解决我的问题。