Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在长时间的SQL结果之后,执行突然停止_Php_Mysql_Database - Fatal编程技术网

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()?你想达到什么目的?这是一个很糟糕的做法。。。这并不能解决我的问题。这是一个很糟糕的做法。。。这并不能解决我的问题。