错误:内存不足/连接已重置

时间:2015-12-07 11:14:05

标签: php mysql apache xampp

我正在尝试使用xampp(v 5.5.30)在Windows(64位,4 Gb ram)上在php页面上进行大量选择* {insert into ..}。

几分钟后,我收到两条错误消息:

A)"连接被重置"在浏览器中,或者有时:

B)" mysql_query():( HY000 / 2008):内存不足......"在插入查询期间。

在两种情况下,即使使用指令,PHP脚本本身也会暂停:

ignore_user_abort(true);

我无法弄清楚为什么会这样。我试过的事情:

1)在我的apache配置文件中添加:

<IfModule mpm_winnt_module> ThreadStackSize 8388608 </IfModule>因为在错误日志中我注意到连接重置时的行:

  

[Mon Dec 07 13:01:23.540742 2015] [mpm_winnt:notice] [pid 2344:tid   504] AH00428:父:子进程4036退出,状态为3221225477    - 重新启动。

     

[Mon Dec 07 12:09:39.584814 2015] [mpm_winnt:notice] [pid 1684:tid   528] AH00354:孩子:开始150个工作线程。

似乎这个错误在某种程度上与我的问题有关。但是更改配置文件没有帮助,但仍然出现错误。

2)更改了php ini设置:

ini_set("memory_limit","750MB");

3)使用以下方法删除所有mysql缓存:

RESET QUERY CACHE

4)设置PHP超时:

set_time_limit(60*60);

错误发生在几分钟后。

附加说明:主select-query(mytable.MYD)中使用的表的文件大小为400Mb,其中我只使用select中的几列。一旦查询加载到PHP内存中,在执行while循环之前,内存占用量为60Mb(使用memory_get_usage())

知道我能做些什么来解决这个问题吗?

感谢

1 个答案:

答案 0 :(得分:0)

您还必须设置执行时间。

将执行时间设置为0,它在功能上等同于完全关闭执行限制:

ini_set('max_execution_time',0);

希望它能解决你的问题