我正在做一個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