Php 如何在Laravel中为请求发送多个响应?

Php 如何在Laravel中为请求发送多个响应?,php,laravel,axios,Php,Laravel,Axios,我向Laravel(PHP)提出了一个请求,用户在其中上载了100个文件。我必须使用PHP处理这些文件,每个文件大约需要5秒钟。处理完每个文件后,我必须向用户发送一个响应,告知该文件的处理已完成。我怎么能做到? 首先,我制作了一个系统,生成100个并行axios请求,但这会产生几个php fpm进程,几乎会停止服务器。请帮忙。 我认为您可以在这里使用if…else并在json响应中返回数组。 像 $data['file1']='success' $data['file2']='success'

我向Laravel(PHP)提出了一个请求,用户在其中上载了100个文件。我必须使用PHP处理这些文件,每个文件大约需要5秒钟。处理完每个文件后,我必须向用户发送一个响应,告知该文件的处理已完成。我怎么能做到? 首先,我制作了一个系统,生成100个并行axios请求,但这会产生几个php fpm进程,几乎会停止服务器。请帮忙。

  • 我认为您可以在这里使用if…else并在json响应中返回数组。 像

    $data['file1']='success'

    $data['file2']='success'

    诸如此类

也许这个答案会指引你。
谢谢。

但我想部分发送回复,假设100个文件将有100次完成。处理完每个文件后,如何发送响应?您可以在foreach循环中使用one variable和than increment variable,并使用数组varriable concate和increment value,以便根据您的文件获得响应您是否已经有了一个可用于处理文件的活动队列系统?因为在我看来,此任务的潜在连续持续时间为500秒,要求异步后台执行,并对前端进行异步状态更新(通过广播或轮询)。感谢您的评论!目前,由于这些请求是并行处理的,所以从用户的角度来看,任务通常在30秒内完成。但我想对于服务器来说,PHP进程太多了。您是否建议使用WebSocket向用户通知进度,并在后台运行单个PHP进程?