PHP应用程序耗尽内存

Lia*_*ley 3 php memory parsing

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

不用说我得到了:

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

有什么办法可以避免忘记记忆.

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

Mat*_*hew 5

您可以调整内存限制:

ini_set('memory_limit', '128M');
Run Code Online (Sandbox Code Playgroud)

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

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

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