Ось короткий опис того, що я (та інші) стикалися до цього часу, я намагаюся впорядкувати його, не соромтесь додати або зв’язати все, чого не вистачає, публікація - Wiki Wiki:
Причини невдалого виправлення
Якщо ви побачите "ПОМИЛКА: Патч не вдалося застосувати / повернути успішно", знайдіть у "Hunk # 1 FAILED" у повідомленнях журналу, щоб перевірити, у якому файлі патч не вдався.
- Очевидно, v2 патча для Magento 1.7 очікує, що SUPEE-3941 буде представлений, хоча він існує лише для Magento 1.8 та 1.9 . Якщо ви перебуваєте на Magento 1.7 і бачите помилки, пов’язані з файлами
downloader
, завантажте SUPEE-3941 для 1.8 та застосуйте його на 1.7, він повинен працювати. Дивіться нитку коментарів тут: проблема Patch Security SUPEE 8788
У версіях Magento, які раніше застосовували SUPEE-1533, патч не працює, app/code/core/Mage/Adminhtml/controllers/DashboardController.php
оскільки на файл впливають і патчі, і SUPEE-8788 (неправильно!) Припускає, що наявна непатч-версія. Це все ще стосується версії 2 патча! Версія 2 включає зміни з SUPEE-1533, тому якщо ви встановили її раніше, вам все одно доведеться відновити її, але не потрібно вручну застосовувати її знову.
Якщо ви видалили або перейменували каталог "завантажувач", патч не вдасться, оскільки він виправляє файл у завантажувачі. Найпростіший спосіб вирішити проблему - відновити початковий каталог завантажувачів, застосувати патч, а потім видалити каталог знову. Крім того, ви також можете видалити інструкції downloader/lib/Mage/HTTP/Client/Curl.php
з патча.
Інші повідомлення "Hunk FAILED" зазвичай пов'язані зі зміною основних файлів або відсутніми попередніми виправленнями. Переконайтесь, що всі попередні виправлення для вашої версії Magento встановлені, і ви не вносили змін до основних файлів.
Ще одна поширена проблема полягає в тому, що патч не може видалити .swf
файли через їх бінарний вміст. Помилка буде виглядати приблизно так:
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
або як це
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:
--------------------------
або так:
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.
Можливі рішення даються у цій відповіді від @infabo. Завантаження патча безпосередньо в систему, де я хочу його застосувати, використовуючи curl, як пояснено в https://gist.github.com/piotrekkaminski/9bc45ec84028611d621e, завжди працював для мене, за винятком випадків, коли я спробував його на Cygwin
Розширений спосіб боротьби з невдалими виправленнями: @PeterOCallaghan запропонував прокоментувати сухий рядок і вручну розібратися з файлами * .rej. Таким чином, патч можна частково застосувати, і якщо він не зможе видалити SWF-файли, ви можете зробити це вручну. Або якщо не вдалося оновити файли, downloader
оскільки ви видалили цей каталог, ви можете просто проігнорувати це.
vi PATCH_SUPEE-8788_CE_1.8.1.0_v1-2016-10-11-06-54-44.sh
(або подібне ім’я файлу) змінити так, _apply_revert_patch dry-run
щоб мати вигляд
#_apply_revert_patch dry-run
запустіть виправлення, видавши ./PATCH_SUPEE-8788_CE_1.8.1.0_v1-2016-10-11-06-54-44.sh
Це буде виправляти ваші файли
Прокоментувати _apply_revert_patch
до#_apply_revert_patch
запустіть виправлення знову, щоб додати app/etc/app/etc/applied.patches.list
запис
grep для всіх файлів .rej з
git status | grep *.rej
вручну працювати над цими змінами
Проблеми після застосування патчу
Клавіші форми
Для версій Magento до 1.8 існують зміни в frontend/base/default
шаблонах. Переконайтеся, що ви вручну застосували ті самі зміни до теми, якщо вона перекриває ці файли
Більш конкретно, доданий ключ форми для таких дій, як:
- Видалення елемента зі списку бажань
- Видалення адреси клієнтів із подання магазину
- Оновлення товару в кошику
Дивіться цю відповідь від @LukeRogers, якщо у вас виникли проблеми з цими діями.
Спеціальний завантажувач
Unirgy_Rapidflow та інші розширення зі спеціальними формами завантаження більше не працюють.
Дивіться цю відповідь від @mpchadwick та коментар @lloiacono
Я встановив його, замінивши $this->getUploader()->getConfig()
з $this->getUploader()->getUploaderConfig()
вUnirgy_RapidFlow_Block_Adminhtml_Profile_Edit_Tab_Upload
Щоб дізнатися, чи використовує це будь-яке ваше розширення, у командному рядку можна виконати наступне:
grep -R 'getUploader()->getConfig();' app/code/community
Повідомлені повідомлення про помилки
Фатальна помилка PHP: виклик невизначеної функції hash_equals ()
відбудеться , якщо ви перебуваєте на версії PHP до 5.6 і перевизначити code/core/Mage/core/functions.php
в code/local/Mage/core/functions.php
(який може бути випадок , якщо ви використовуєте розширення Fishpig). Дивіться цю відповідь від @ClaudiuCreanga
Проблеми, вирішені в v2 патча
Якщо у вас виникли будь-які з цих проблем, ви, ймовірно, використовуєте версію 1 виправлення ("v1" у назві файлу). Завантажте патч ще раз, щоб отримати "v2", який виправляє ці проблеми:
Виникла проблема сумісності із SUPEE-3941 та downloader/lib/Mage/HTTP/Client/Curl.php
"Виняток" з повідомленням "Непідтримуваний тип даних N" в /lib/Unserialize/Reader/ArrValue.php
Патч для EE 1.14.2.0 випадково містив новий файл test_oauth.php, який слід видалити! Дивіться цю відповідь від @MatthiasZeis