Eroare fatală: Clasa 'ZipArchive' nu a fost găsită
Ce ar putea cauza această eroare:
Eroare fatală: Clasa 'ZipArchive' nu a fost găsită în /home/test/dummyurl.com/wp-content/themes/mytheme/upload-zip.php la linia 14
Versiunea PHP este 5.3.1
WP are o funcție încorporată pe care ar trebui să o folosesc? Ca de exemplu funcția "unzip_file" de la linia 525 din ./wp-admin/includes/file.php"?
function openZip($file_to_open) {
global $target;
$zip = new ZipArchive(); //Aceasta este linia 14
$x = $zip->open($file_to_open);
if($x === true) {
$zip->extractTo($target);
$zip->close();
unlink($file_to_open);
} else {
die("A apărut o problemă. Te rog încearcă din nou!");
}
}
Aceasta înseamnă că instalarea ta de PHP nu are biblioteca Zip. Poți să o instalezi recompilând PHP cu opțiunea --enable-zip, sau să instalezi pachetul PECL.
dacă sunteți pe hosting partajat, aș recomanda să scrieți gazdei dvs. pentru a vedea dacă o pot activa pentru site-ul dvs. Este posibil să o fi dezactivat, deoarece operațiunea de comprimare poate fi intensivă din punct de vedere al procesorului.
Bala Clark
Interesant. Cum ocolesc acest lucru rutinele de instalare WordPress? Aș dori să fac ceva similar.
Scott B
@Scott B: Există o funcție unzip_file() care încearcă mai întâi să folosească ZipArchive la fel cum faci și tu, dar dacă nu există, recurge la PclZip, o bibliotecă zip scrisă în PHP. Așadar, vă sugerez să încercați și voi să folosiți această funcție unzip_file(), deoarece probabil va exista întotdeauna în WordPress. (Poate ar trebui să rescriem această întrebare astfel încât să devină "Cum să decomprimați fișiere fără ZipArchive?")
Jan Fabry
Sunt de acord, am adăugat-o ca o întrebare separată > http://wordpress.stackexchange.com/questions/8213/how-to-unzip-files-without-ziparchive
Scott B