致命错误:允许的内存大小 - 需要PHP专家建议

时间:2010-11-12 02:05:59

标签: php memory size lamp flush

您好 我有一个PHP程序和我自己的类。我在办公室使用Xampp服务器。

它有4个基本部分: 1)程序读取一条mysql记录(“SELECT a,b,c .... 然后循环几次到总数。

2)将一些变量回显到屏幕上(大约10个)

3)将记录插入第二个mysql文件(第一组摘要)

4)清除变量(30左右)

现在我已经阅读了很多关于这个主题的页面,其中包括大约15页。我知道我可以记忆,但这不是我想要的解决方案。 我现在在第一个数据库中有大约3,000条记录,我希望它增长1000倍。

我有多年的编程经验,可以看到问题所在。在执行此类循环时使用“c”之类的语言,结果会立即显示。但是使用PHP它会循环,并且在操作结束之前不会显示任何内容,或者它会像这里一样停止。我知道这填补了记忆。我无法显示任何变量,但可能很难调试。

那么我该如何解决这个问题呢?我查看了flush()和ob_flush()。那是不是需要这样才能在记忆中积累?

提前谢谢

2 个答案:

答案 0 :(得分:0)

为什么不一次获取5000条记录,然后将其写入磁盘(如缓存)。

我们也能看到一些代码吗?

答案 1 :(得分:0)

与命令行界面不同,如果您将输出缓冲设置为自动或脚本具有ob_start(),则需要ob_flush() AND flush()将数据提交到浏览器输出。否则,只需要flush()。这是浏览器的行为和HTTP连接的本质。