Примечание. Эта проблема, по-видимому, относится ко всем версиям Magento, которые получили исправление SUPEE-6788. Вы увидите в моем ответе , что , как .htaccess
и .htaccess.sample
потребность быть восстановлена для патча , чтобы добиться успеха.
Я работаю над применением патча SUPEE-6788 к сайту CE 1.7.0.2, используя скрипт оболочки, предоставленный magentocommerce.com/downloads . На сайте были применены все предыдущие исправления безопасности.
Сценарий имеет PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.sh
и имеет md5sum cfc0cf533fe36a5f573414f0feeb1590
(этот патч был необычен тем, что был выпущен без сжатия - хотя файл не выглядит поврежденным или усеченным).
При запуске этого сценария вывод консоли показывает, что по крайней мере один из включенных исправлений не выполнен или был пропущен, но многие части исправления были успешными, однако git
не показывает никаких изменений. Сценарий был протестирован в двух разных средах с одной и той же кодовой базой: одна - рабочая станция Ubuntu GNOME 14.04 LTS, другая - общий сервер nexcess.com (работает под CentOS).
Интересно, что выходные данные в двух средах немного отличаются. Обратите внимание на строки, начинающиеся с «проверки» и «исправления».
Пример вывода из среды Ubuntu:
bash PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.sh [19:27:10]
Checking if patch can be applied/reverted successfully...
ERROR: Patch can't be applied/reverted successfully.
checking file .htaccess
Hunk #1 FAILED at 207.
1 out of 1 hunk FAILED
can't find file to patch at input line 38
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git .htaccess.sample .htaccess.sample
|index 546f18e..3e79c77 100644
|--- .htaccess.sample
|+++ .htaccess.sample
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
checking file app/code/core/Mage/Admin/Model/Block.php
checking file app/code/core/Mage/Admin/Model/Resource/Block.php
checking file app/code/core/Mage/Admin/Model/Resource/Block/Collection.php
checking file app/code/core/Mage/Admin/Model/Resource/Variable.php
checking file app/code/core/Mage/Admin/Model/Resource/Variable/Collection.php
checking file app/code/core/Mage/Admin/Model/Variable.php
...
Образец из среды CentOS:
bash PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.sh
Checking if patch can be applied/reverted successfully...
ERROR: Patch can't be applied/reverted successfully.
patching file .htaccess
Hunk #1 FAILED at 207.
1 out of 1 hunk FAILED -- saving rejects to file .htaccess.rej
can't find file to patch at input line 38
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git .htaccess.sample .htaccess.sample
|index 546f18e..3e79c77 100644
|--- .htaccess.sample
|+++ .htaccess.sample
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
patching file app/code/core/Mage/Admin/Model/Block.php
patching file app/code/core/Mage/Admin/Model/Resource/Block.php
patching file app/code/core/Mage/Admin/Model/Resource/Block/Collection.php
patching file app/code/core/Mage/Admin/Model/Resource/Variable.php
...
Я буду копаться в ошибке в верхней части вывода и, возможно, вручную применить исправления - но надеялся, что кто-то может понять причину или относительно простое исправление.
.htaccess
-File содержит ровно 1 пустой символ новой строки в конце файла после#FileETag none
. И.htaccess.sample
Файл должен иметь 2 пустых символа новой строки в конце файла.Ответы:
Похоже, что изменения в моем,
.htaccess
а также пропавших без вести.htaccess.sample
являются виновником. После восстановления стандартной копии обоих файлов (оба были необходимы), патч, кажется, успешно применяется.Чтобы решить эту проблему, не теряя (необходимые) модификации, я выполнил следующие действия:
Создайте резервную копию
.htaccess
и -.htaccess.sample
либо с вашей системой контроля версий, либо скопировав файлыСкопировал стоковую версию 1.7.0.2
.htaccess
и.htaccess.sample
в мою кодовую базу, заменив мою настроенную.htaccess
Применен патч. Вывод был намного короче чем раньше (2 строки).
Совершены все изменения, в том числе
.htaccess
(для потомков)Извлек предыдущую версию
.htaccess
, без патча, и вручную применил патч к этому файлу.Вот
git diff
патч, показывающий добавленные строки:источник
app/etc/applied.patches.list
и / или используйте magereport.com/scan, чтобы убедиться, что все предыдущие исправления безопасности были применены - ** они необходимы **Warning: .htpasswd file should be placed somewhere not accessible from the web
Есть идеи?Я попытался загрузить стоковые версии,
.htaccess
и.htaccess.sample
патч все равно не будет применяться даже после использования стандартных версий.Если вы столкнулись с этой проблемой, ознакомьтесь с этой статьей, в которой объясняется, как удалить компоненты
.htaccess
иhtaccess.sample
детали из самого исправления, а затем вручную добавить их после: http://www.atwix.com/magento/security-patch-supee-6788. -установка-вопросы /FIX - отредактируйте файл патча, удалив строки 163-195, начинающиеся со строки
и заканчивается
Вам также может понадобиться удалить часть, относящуюся к
htaccess.sample
этому, начинается си заканчивается в
После того, как это будет сделано, попробуйте применить исправление снова, и на этот раз оно должно успешно применяться.
Затем нам нужно добавить следующее в конец наших файлов
.htaccess
и.htaccess.sample
файлов, чтобы они были обновлены в соответствии с патчемПосле этих шагов я смог успешно применить патч, надеюсь, это поможет!
источник
Это может помочь вам, даже если это другая версия - https://community.magento.com/t5/Security-Patches/1-9-1-0-applying-patch-6788-hunk-failed/td-p/ 20070
источник
У меня была та же проблема, потому что я скачал не тот патч. Я использую Magento EE 1.13, и я скачал патч CE ... Я скачал патч для CE 1.8, следуя руководству, думая, что он будет работать для EE 1.13. Убедитесь, что вы загрузили патч для вашей версии Magento.
источник
источник