我创建了一个将照片放入 ZipArchive 的简单程序。一切正常,直到我尝试压缩超过几张照片(大约 60 张)。之后,我在屏幕上看到了类似的东西:
https://i.stack.imgur.com/DtgHG.png
我在 php.ini 中将 max_execution_time 更改为 1200,将 memory_limit 更改为 256M。
服务器在带有 PHP7.4 和 Ubuntu 20.4 的 Nginx 1.18 上。一切都在 Laravel 8 上工作。
有任何想法吗?
这是我的 ZipController
public function downloadZip(Request $req){
$id = $req->input('id');
$sessions = DB::table('sessions')->where('id', $id)->get();
$photos = DB::table('sessions_files')->where('session_id', $id)->get();
$zip = new ZipArchive;
$path = 'images/sessions/'.$id;
$fileName = 'Sesja-numer-'.$id.'.zip';
if ($zip->open($fileName, ZipArchive::CREATE) === TRUE)
{
$numerek = 1;
foreach ($photos as $photo) {
echo $photo->file;
$addFile = $path.'/'.$photo->file;
$fileNewName = 'Zdjecie-'.$numerek.'.jpg';
$zip->addFile($addFile, $fileNewName);
$numerek++;
}
ob_end_clean();
$zip->close();
}
return response()->download($fileName)->deleteFileAfterSend();
return redirect('/dashboard/sessions/'.$id);
}