Примечание. Эта проблема, по-видимому, относится ко всем версиям 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 пустых символа новой строки в конце файла.