Ich benutze PHP 5.6.3. Einer meiner professionellen Projekt umfasst eine dezip Funktion:PHP - Zip extractTo() Leistung
// ZIP file to extract
$my_file = "repository.zip";
$zip = new ZipArchive;
if ($zip->open($my_file) === TRUE)
{
//Unpack all files from zip
$zip->extractTo($this->target_directory);
}
$zip->close();
..., die auf einer großen ZIP-Datei (~ 300Mo) verarbeitet wird.
Ich habe viele excution time Benchmark gemacht und ich fand, dass die extractTo() - Funktion mehr als 90%/95% (20sek.) Der gesamten Verarbeitungszeit ist! Am schlimmsten ist, dass die ZIP-Größe in den nächsten Wochen zunehmen wird (vielleicht bis zu 500 Mo).
Gibt es eine Möglichkeit, diesen Teil meines Skripts zu optimieren? Wissen, dass Ich habe, um alle Dateien aus dem ZIP extrahieren.
Danke.
Wer erstellt die Zip-Datei? Die Verwendung einer "schnelleren" Komprimierung führt im Allgemeinen zu einer schnelleren Dekomprimierung. –
Benchmark-Befehlszeile/usr/bin/unzip ./repository.zip -d. - nicht sicher, warum du es in PHP machst. –
@SalmanA Die ZIP-Datei wird von einer anderen Symfony-Anwendung generiert: "$ this-> zipArchive-> open (" repository.zip ", \ ZipArchive :: CREATE)" + "$ this-> zipArchive-> addFile()". – Paolito75