PHP应用程序耗尽内存

时间:2010-10-02 20:25:20

标签: php parsing memory

我正在为一个爬虫编写一组类,它抓取一个起始页,根据参数提取三个链接(使用Simple Html Dom Parser找到允许使用类似选择器的jquery),抓取这些页面,然后转到第2页,选择接下来的3页。当前最大页面是57次。

不用说我得到了:

允许的内存大小为50331648字节耗尽错误消息。

我有什么方法可以避免忘记记忆。

为了让您知道,在拉入第一页的内容后,我运行了一个go()函数,该函数会持续拉入页面,直到达到$ this-> maxpages。我想我可以在实例化类时运行循环,但这会有所帮助。

1 个答案:

答案 0 :(得分:5)

您可以调整内存限制:

ini_set('memory_limit', '128M');

但是我会尝试让脚本使用更少的内存。确保将数据/引用释放到不再需要存在的任何内容中。

memory_get_usage()可用于调试内存使用量累积的位置。

此外,如果您不使用PHP 5.3,您可以考虑升级,因为它的垃圾收集器更好。