我正在做一个Curl请求从提供程序获取JSON文件,并且返回的JSON文件很大。PHP Long Curl请求
如果我在浏览器中运行它,响应是一个21MB的字符串。当我用Curl运行这个请求时,它不仅花费很多时间,而且还以Fatal error: Allowed memory size of 268435456 bytes exhausted
错误结束。
解决这个问题的一种方法是将ini_set('memory_limit', '512M');
添加到我的代码中(我已经用256代码完成了它,但它仍然不够...)。 我想知道是否有另一种方式来更快地获取数据?
我知道这不是内存泄漏,它只是响应很大。 我不想增加内存限制,我知道它会工作,但我想知道是否有可能更快地获取该数据,即使我必须将其保存到文件中以供后续读取。
谢谢!
有许多方法可以对JSON进行流式处理并因此节省内存,但是无法加快curl请求的速度。如果你可以的话,你应该在发送端实现某种分页。 – colburton
感谢您的回复。 不幸的是我没有任何控制提供商的服务器:( –
你可以下载响应到一个文件,然后用[this](https://github.com/salsify/jsonstreamingparser) – GentlemanMax