Remarque: ce problème semble s'appliquer à toutes les versions de Magento qui ont reçu le correctif SUPEE-6788. Vous verrez dans ma réponse que les deux .htaccess
et .htaccess.sample
doivent être restaurés pour que le patch réussisse.
Je travaille sur l'application du correctif SUPEE-6788 à un site CE 1.7.0.2 à l'aide du script shell fourni par magentocommerce.com/downloads . Le site a déjà appliqué tous les correctifs de sécurité précédents.
Le nom du script est PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.sh
et a une somme md5 de cfc0cf533fe36a5f573414f0feeb1590
(ce correctif était inhabituel dans la mesure où il a été publié non compressé, bien que le fichier ne semble pas corrompu ou tronqué).
Lors de l'exécution de ce script, la sortie de la console semble indiquer qu'au moins l'un des correctifs inclus a échoué ou a été ignoré, mais que de nombreuses parties du correctif ont réussi, mais git
ne montrent aucune modification. Le script a été testé sur deux environnements différents avec la même base de code - l'un une station de travail Ubuntu GNOME 14.04 LTS, l'autre un serveur partagé nexcess.com (exécutant CentOS).
Il est intéressant de noter que la sortie sur les deux environnements est légèrement différente. Notez les lignes commençant par "vérification" vs "correction".
Un exemple de sortie de l'environnement 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
...
Un échantillon de l'environnement 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
...
Je vais creuser l'erreur en haut de la sortie et éventuellement appliquer manuellement les correctifs - mais j'espérais que quelqu'un pourrait avoir un aperçu de la cause ou d'une solution relativement simple.
.htaccess
-File a exactement 1 nouvelle ligne vide à la fin du fichier après #FileETag none
. Et le .htaccess.sample
fichier doit avoir 2 sauts de ligne vides à la fin du fichier.