Mi okozza a hibát?
A probléma gyökere az, ahogy a MacOS zip fájlokat tömöríti, valamint az, ahogyan a WordPress 6.4.3-as verziója értelmezi ezeket a fájlokat a feltöltéskor. A közelmúltban végrehajtott biztonsági fejlesztések, amelyek a feltöltési folyamat szigorítását célozták, sajnos akaratlanul is nehézségeket okoztak a MacOS által tömörített zip-fájlokkal, ami az „Inkompatibilis archívum” hibaüzenet megjelenéséhez vezetett. Hasonló problémák korábban már érintették a WordPress-t és a WP-CLI-t is, és ez a viselkedés a PHP libzip verziójának eltéréseivel kapcsolatos.
Egy pillantás a hibára
A probléma megoldása
Használja a MacOS Command Line-t a tömörítéshez
Azok számára, akik MacOS-t használnak és az „Inkompatibilis archívum” hibával találkoznak WordPress beépülő modulok vagy témák feltöltésekor, egy alternatív megoldást kínálhat a terminál használata a zip fájlok készítéséhez. A MacOS beépített tömörítési eszköze helyett a következő lépésekkel tömörítheti a bővítmény mappáját a terminál segítségével, ami biztosítja a fájl WordPress feltöltési folyamatával való kompatibilitását:
- Nyissa meg a Terminált a MacOS-en.
- Navigáljon a beépülő modul vagy a téma mappájának tartalmazó könyvtárhoz.
- Használja a következő parancsot a tömörítéshez:
zip -r my-plugin.zip my-plugin/
- Ebben a példában a
my-plugin/
a tömöríteni kívánt mappa neve, ésmy-plugin.zip
lesz az újonnan létrehozott tömörített fájl neve.
Ez a módszer biztosítja, hogy a zip fájl kompatibilis legyen a WordPress feltöltési folyamatával, elkerülve a MacOS általános tömörítési eszközével kapcsolatos problémákat.
Ideiglenes Beépülő Modul Megoldás
Ha egy gyors és egyszerű megoldást keres a probléma kezelésére, Aaron Jorbin fejlesztett egy bővítményt, amely kényszeríti a WordPress-t, hogy a ZipArchive helyett a PclZip-et használja, ezzel hatékonyan megkerülve a problémát. Ez az ideiglenes megoldás különösen hasznos lehet, ha nem áll módjában manuálisan módosítani a zip fájlok létrehozásának módját. A bővítmény telepítéséhez és aktiválásához kövesse a WordPress bővítmények telepítésére vonatkozó általános útmutatásokat.
A bővítmény funkcionalitását az alábbi kódsor hozzáadásával érheti el a WordPress témájához vagy egyedi bővítményéhez:
// Reference code for developers. add_filter('unzip_file_use_ziparchive', '__return_false');
Ez a kódsor kikapcsolja a ZipArchive használatát, és ehelyett a PclZip-et alkalmazza, ami segíthet megoldani az „Inkompatibilis archívum” hibát. Fontos megjegyezni, hogy ez csak egy ideiglenes megoldás, és a WordPress vagy a szerver környezet frissítésével javasolt visszatérni a standard működésre.
Kattintson ide a PclZip bővítmény letöltéséhez.
Ha a ZipArchive::open() meghiúsul, hajtson végre egy tartalék PclZip-et
Itt található egy kódrészlet a fejlesztőknek a tartalék megoldás megvalósításához.
// Potential workaround in custom code until official fix is deployed if (!$zip->open($file_path) === TRUE) { use PclZip instead of ZipArchive }
Előretekintve
A cikk eredeti nyelven itt érhető el: https://diviextended.com/incompatible-archive-error-in-wordpress/