【发布时间】:2015-12-07 11:14:05
【问题描述】:
我正在尝试在 Windows(64 位,4 Gb 内存)上使用 xampp(v 5.5.30)在 php 页面上进行大量选择 * { insert into..}。
几分钟后,我收到两条错误消息:
A) 在浏览器中“连接已重置”,或者有时:
B) "mysql_query(): (HY000/2008): Out of memory..." 在插入查询期间。
在这两种情况下,即使使用指令,PHP 脚本本身也会停止:
ignore_user_abort(true);
我不知道为什么会这样。我为此尝试过的事情:
1) 添加到我的 apache 配置文件中:
<IfModule mpm_winnt_module> ThreadStackSize 8388608 </IfModule> 因为在错误日志中我注意到连接重置时的行:
[2015 年 12 月 7 日星期一 13:01:23.540742] [mpm_winnt:notice] [pid 2344:tid 504] AH00428:父进程:子进程 4036 以状态 3221225477 退出 -- 正在重启。
[2015 年 12 月 7 日星期一 12:09:39.584814] [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);
几分钟后就会出现错误。
附加说明:主选择查询(mytable.MYD)中使用的表的文件大小为400Mb,其中我只使用了选择中的几列。一旦查询加载到 PHP 内存中,在执行 while 循环之前,内存占用为 60Mb(使用 memory_get_usage())
知道我能做些什么来解决这个问题吗?
谢谢
【问题讨论】:
-
您似乎没有对问题发生的位置进行任何研究,也没有提供相关信息来支持对问题的任何分析。请阅读stackoverflow.com/help/how-to-ask