Fixed streamed outputs in more extreme scenarios

Fixes hitting memory limits where downloaded file sizes are much greater
than memory limit. Stopping and flushing output buffer seemed to stop
limits causing issues when fpassthru is used.
Tested with 24M memory limit and 734M file
This commit is contained in:
Dan Brown
2022-04-02 18:42:15 +01:00
parent 82e8b1577e
commit 6749faa89a

View File

@ -127,6 +127,7 @@ abstract class Controller extends BaseController
protected function streamedDownloadResponse($stream, string $fileName): StreamedResponse
{
return response()->stream(function() use ($stream) {
ob_end_clean();
fpassthru($stream);
fclose($stream);
}, 200, [