我有一个PHP脚本,需要从远程服务器下载多个文件。目前,我只有一个循环使用cURL下载和处理文件,这意味着它直到下一个文件完成后才开始下载一个文件- 这大大增加了脚本的运行时间。
是否可以启动多个cURL实例,例如,同时异步下载这些文件而无需等待上一个实例完成?如果是这样,将如何实现?
是。
有一个multirequest PHP库(或参见:已归档的Google Code项目)。这是一个多线程的CURL库。
作为另一种解决方案,您可以编写脚本来使用支持线程的语言(例如Ruby或Python)来执行此操作。然后,只需使用PHP调用脚本即可。似乎很简单。