Hier ist eine Zusammenfassung dessen, was ich (und andere) bisher erlebt habe. Ich versuche, es zu sortieren, fühle mich frei, etwas hinzuzufügen oder zu verlinken, was fehlt. Der Beitrag ist ein Community-Wiki:
Gründe für einen fehlgeschlagenen Patch
Wenn "FEHLER: Patch kann nicht erfolgreich angewendet / zurückgesetzt werden" angezeigt wird, suchen Sie in den Protokollmeldungen nach "Hunk # 1 FAILED", um zu überprüfen, bei welcher Datei der Patch fehlgeschlagen ist.
- Anscheinend erwartet Version 2 des Patches für Magento 1.7 die Veröffentlichung von SUPEE-3941, obwohl es nur für Magento 1.8 und 1.9 existiert . Wenn Sie mit Magento 1.7 arbeiten und Fehler in Bezug auf Dateien in sehen
downloader
, laden Sie SUPEE-3941 für 1.8 herunter und wenden Sie es auf 1.7 an, es sollte funktionieren. Siehe Kommentar Thread hier: Sicherheitspatch SUPEE 8788 Problem
Auf Magento - Versionen , die SUPEE-1533 vor angewendet hatten, versagt der Patch auf , app/code/core/Mage/Adminhtml/controllers/DashboardController.php
weil die Datei von beiden Patches und SUPEE-8788 (falsch!) Betroffen ist , wird davon ausgegangen , dass die ungepatchte Version vorhanden ist. Dies gilt nach wie vor für Version 2 des Patches! Version 2 enthält die Änderungen von SUPEE-1533. Wenn Sie es also zuvor installiert haben, müssen Sie es immer noch zurücksetzen, aber danach müssen Sie es nicht erneut manuell anwenden.
Wenn Sie das "Downloader" -Verzeichnis gelöscht oder umbenannt haben, schlägt der Patch fehl, da eine Datei im Downloader gepatcht wird. Die einfachste Lösung besteht darin, das ursprüngliche Downloader-Verzeichnis wiederherzustellen, den Patch anzuwenden und das Verzeichnis dann erneut zu löschen. Alternativ können Sie auch die Anweisungen für downloader/lib/Mage/HTTP/Client/Curl.php
aus dem Patch entfernen .
Andere "Hunk FAILED" -Nachrichten sind normalerweise auf Änderungen in den Kerndateien oder fehlende vorherige Patches zurückzuführen. Stellen Sie sicher, dass alle vorherigen Patches für Ihre Magento-Version installiert sind und Sie keine Änderungen an den Kerndateien vorgenommen haben.
Ein weiteres häufiges Problem ist, dass der Patch .swf
Dateien aufgrund ihres binären Inhalts nicht löschen kann. Der Fehler sieht dann so aus:
checking file skin/adminhtml/default/default/media/uploaderSingle.swf
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored
oder so
Patching file skin/adminhtml/default/default/media/uploader.swf using Plan A...
No such line 2 in input file, ignoring
Empty context always matches.
Hunk #1 failed at 0.
1 out of 1 hunks failed while patching skin/adminhtml/default/default/media/uploader.swf
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
oder so:
Checking if patch can be applied/reverted successfully...
/bin/patch: **** malformed patch at line 5790: ?rM]M??????&X㔮??v??Q;r?N?qJ??Y???I0?Y??4??'?????9?.??X?Ǒ?{??ax!G???I???q?u|????թ??????|
h??o?V@??|? ?g?H aꪭ??Ю???,I"?ğ????.?? yI?I\????)?X?
?p???*?e?q?K8<DqD?H;|?
ERROR: Patch can't be applied/reverted successfully.
Mögliche Lösungen werden in dieser Antwort von @infabo angegeben. Das Herunterladen des Patches direkt auf das System, auf das ich ihn anwenden möchte, unter Verwendung der unter https://gist.github.com/piotrekkaminski/9bc45ec84028611d621e erläuterten Funktion "curl" hat bei mir immer funktioniert, außer wenn ich es unter Cygwin ausprobiert habe
Fortgeschrittene Möglichkeit, mit fehlgeschlagenen Patches umzugehen : @PeterOCallaghan schlug vor, die Probelauf-Zeile auszukommentieren und die * .rej-Dateien manuell zu verarbeiten. Auf diese Weise kann der Patch teilweise angewendet werden. Wenn die SWF-Dateien nicht gelöscht werden können, können Sie dies manuell tun. Wenn die Aktualisierung der Dateien fehlschlägt, downloader
weil Sie dieses Verzeichnis gelöscht haben, können Sie dies einfach ignorieren.
vi PATCH_SUPEE-8788_CE_1.8.1.0_v1-2016-10-11-06-54-44.sh
(oder einen ähnlichen Dateinamen) ändern _apply_revert_patch dry-run
, um wie folgt auszusehen
#_apply_revert_patch dry-run
Führen Sie den Patch aus, indem Sie ihn ausgeben ./PATCH_SUPEE-8788_CE_1.8.1.0_v1-2016-10-11-06-54-44.sh
Das wird Ihre Dateien patchen
Kommentar _apply_revert_patch
an#_apply_revert_patch
Führen Sie den Patch erneut aus, um den app/etc/app/etc/applied.patches.list
Eintrag hinzuzufügen
grep für alle .rej Dateien mit
git status | grep *.rej
manuell in diesen Änderungen arbeiten
Probleme nach dem Anwenden des Patches
Formularschlüssel
Für Magento-Versionen vor 1.8 gibt es Änderungen in frontend/base/default
Vorlagen. Stellen Sie sicher, dass Sie dieselben Änderungen in Ihrem Design manuell anwenden, wenn diese Dateien überschrieben werden
Insbesondere wurde ein Formularschlüssel für Frontend-Aktionen hinzugefügt, z.
- Einen Artikel aus der Wunschliste entfernen
- Löschen einer Kundenadresse aus der Geschäftsansicht
- Aktualisieren eines Angebotselements in Ihrem Warenkorb
Sehen Sie sich diese Antwort von @LukeRogers an, wenn Sie Probleme mit diesen Aktionen haben.
Benutzerdefinierter Uploader
Unirgy_Rapidflow und andere Erweiterungen mit benutzerdefinierten Upload-Formularen funktionieren nicht mehr.
Siehe diese Antwort von @mpchadwick und Kommentar von @lloiacono
Ich reparierte sie durch den Austausch $this->getUploader()->getConfig()
mit $this->getUploader()->getUploaderConfig()
inUnirgy_RapidFlow_Block_Adminhtml_Profile_Edit_Tab_Upload
Um herauszufinden, ob eine Ihrer Erweiterungen diese Funktion verwendet, können Sie in der Befehlszeile Folgendes ausführen:
grep -R 'getUploader()->getConfig();' app/code/community
Gemeldete Fehlermeldungen
PHP Fataler Fehler: Aufruf der undefinierten Funktion hash_equals ()
passiert , wenn Sie auf einer PHP - Version vor 5.6 und außer Kraft gesetzt sind code/core/Mage/core/functions.php
in code/local/Mage/core/functions.php
(was der Fall sein könnte , wenn Sie Fishpig Erweiterungen verwenden). Siehe diese Antwort von @ClaudiuCreanga
Probleme in Version 2 des Patches behoben
Wenn Sie auf eines dieser Probleme stoßen, verwenden Sie wahrscheinlich Version 1 des Patches ("v1" im Dateinamen). Laden Sie den Patch erneut herunter, um "v2" zu erhalten, mit dem die folgenden Probleme behoben werden:
Es gab ein Kompatibilitätsproblem mit SUPEE-3941 und downloader/lib/Mage/HTTP/Client/Curl.php
'Ausnahme' mit der Meldung 'Nicht unterstützter Datentyp N' in /lib/Unserialize/Reader/ArrValue.php
Der Patch für EE 1.14.2.0 enthielt versehentlich eine neue Datei test_oauth.php, die Sie löschen sollten! Siehe diese Antwort von @MatthiasZeis