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.

Interesant. Cum ocolesc acest lucru rutinele de instalare WordPress? Aș dori să fac ceva similar.

@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
?")

Sunt de acord, am adăugat-o ca o întrebare separată > http://wordpress.stackexchange.com/questions/8213/how-to-unzip-files-without-ziparchive
