Nota: questo problema sembra applicarsi a tutte le versioni di Magento che hanno ricevuto la patch SUPEE-6788. Vedrai nella mia risposta che entrambi .htaccess
e .htaccess.sample
devono essere ripristinati affinché la patch abbia successo.
Sto lavorando per applicare la patch SUPEE-6788 a un sito CE 1.7.0.2 usando lo script shell fornito da magentocommerce.com/downloads . Nel sito sono state applicate tutte le patch di sicurezza precedenti.
Il nome dello script è PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.sh
e ha un md5sum di cfc0cf533fe36a5f573414f0feeb1590
(questa patch era insolita in quanto è stata rilasciata non compressa, sebbene il file non appaia corrotto o troncato).
Quando si esegue questo script, l'output della console sembra indicare che almeno una delle patch incluse non è riuscita o è stata ignorata, ma che molte parti della patch hanno avuto esito positivo, tuttavia non git
viene visualizzato alcun cambiamento. Lo script è stato testato su due diversi ambienti con la stessa base di codice: uno una workstation Ubuntu GNOME 14.04 LTS, l'altro un server condiviso nexcess.com (che esegue CentOS).
È interessante notare che l'output sui due ambienti è leggermente diverso. Nota le righe che iniziano con "verifica" vs "patching".
Un esempio di output dall'ambiente 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 esempio dall'ambiente 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
...
Analizzerò l'errore nella parte superiore dell'output e possibilmente applicherò manualmente le patch, ma speravo che qualcuno potesse avere un'idea della causa o una soluzione relativamente semplice.
.htaccess
-File abbia esattamente 1 newline vuota alla fine del file dopo #FileETag none
. E il .htaccess.sample
file deve contenere 2 righe vuote alla fine del file.