Почему ПАТЧ SUPEE-6788, похоже, не влияет на установку 1.7.0.2?
Примечание: Эта проблема, по-видимому, относится ко всем версиям 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, другая a 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
...
Я буду копаться в ошибке в верхней части вывода и, возможно, вручную применю исправления - но надеялся, что у кого-то может быть представление о причине или относительно простое решение.
5 answers
Похоже, что виновником являются изменения в моем .htaccess
, а также отсутствие .htaccess.sample
. После восстановления стандартной копии обоих файлов (оба были необходимы) исправление, похоже, успешно применяется.
Чтобы решить эту проблему, не теряя (необходимых) модификаций, я выполнил следующие действия:
Создайте резервную копию
.htaccess
и.htaccess.sample
– либо с помощью вашей системы управления версиями, либо путем копирования файловСкопировал стандартную версию 1.7.0.2
.htaccess
и.htaccess.sample
в мой кодовая база, заменяющая мою настроенную.htaccess
Наложил пластырь. Вывод был намного короче, чем раньше (2 строки).
Совершил все изменения, включая
.htaccess
(для потомства)Проверил предыдущую версию
.htaccess
без исправления и вручную применил исправление к этому файлу.
Вот git diff
исправления, в котором показаны добавленные строки:
diff --git a/.htaccess b/.htaccess
index 60e1795..aca7f55 100644
--- a/.htaccess
+++ b/.htaccess
@@ -207,3 +207,28 @@
## http://developer.yahoo.com/performance/rules.html#etags
#FileETag none
+
+###########################################
+## Deny access to cron.php
+ <Files cron.php>
+
+############################################
+## uncomment next lines to enable cron access with base HTTP authorization
+## http://httpd.apache.org/docs/2.2/howto/auth.html
+##
+## Warning: .htpasswd file should be placed somewhere not accessible from the web.
+## This is so that folks cannot download the password file.
+## For example, if your documents are served out of /usr/local/apache/htdocs
+## you might want to put the password file(s) in /usr/local/apache/.
+
+ #AuthName "Cron auth"
+ #AuthUserFile ../.htpasswd
+ #AuthType basic
+ #Require valid-user
+
+############################################
+
+ Order allow,deny
+ Deny from all
+
+ </Files>
Я попытался загрузить стандартные версии .htaccess
и .htaccess.sample
, и исправление все равно не будет применяться даже после использования стандартных версий.
Для тех, кто еще испытывает эту проблему, ознакомьтесь с этой статьей, в которой объясняется, как удалить части .htaccess
и htaccess.sample
из самого исправления, а затем вручную добавить их после:
http://www.atwix.com/magento/security-patch-supee-6788-installation-issues/
ИСПРАВИТЬ - отредактируйте файл исправления, удалив строки 163-195 начиная со строки
diff --git .htaccess .htaccess
И заканчивается на
+ </Files>
Вам также может потребоваться удалить часть, относящуюся к htaccess.sample
это начинается с
diff --git .htaccess.sample .htaccess.sample
И заканчивается на
+ </Files>
После того, как это будет сделано, попробуйте применить патч еще раз, и на этот раз он должен быть успешно применен.
Далее нам нужно добавить следующее в конец наших файлов .htaccess
и .htaccess.sample
, чтобы они были обновлены в соответствии с исправлением
###########################################
## Deny access to cron.php
<Files cron.php>
############################################
## uncomment next lines to enable cron access with base HTTP authorization
## http://httpd.apache.org/docs/2.2/howto/auth.html
##
## Warning: .htpasswd file should be placed somewhere not accessible from the web.
## This is so that folks cannot download the password file.
## For example, if your documents are served out of /usr/local/apache/htdocs
## you might want to put the password file(s) in /usr/local/apache/.
#AuthName "Cron auth"
#AuthUserFile ../.htpasswd
#AuthType basic
#Require valid-user
############################################
Order allow,deny
Deny from all
</Files>
Выполнив эти шаги, я смог применить исправьте успешно, надеюсь, это поможет!
Это может помочь вам, даже если это другая версия - 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.
- Создайте резервную копию файла .htaccess и .htaccess.sample
- Загрузите оригинальные файлы .htaccess и .htaccess.sample в соответствии с вашей версией Magento.
- Выполнить исправление.