หมายเหตุ: ปัญหานี้ดูเหมือนจะนำไปใช้กับ Magento ทุกรุ่นที่ได้รับแพตช์ SUPEE-6788 คุณจะเห็นในคำตอบของฉันว่าทั้งสอง .htaccess
และ.htaccess.sample
จำเป็นต้องได้รับการฟื้นฟูเพื่อให้แพตช์สำเร็จ
ผมทำงานเกี่ยวกับการใช้สุภี-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
ไม่แสดงการเปลี่ยนแปลง สคริปต์ดังกล่าวได้รับการทดสอบในสภาพแวดล้อมที่แตกต่างกันสองแห่งโดยมี codebase เหมือนกันหนึ่งอันคือเวิร์กสเตชัน Ubuntu GNOME 14.04 LTS และอีกหนึ่งเซิร์ฟเวอร์แชร์ของnexcess.com (ใช้งาน CentOS)
สิ่งที่น่าสนใจคือเอาต์พุตในสภาพแวดล้อมทั้งสองนั้นแตกต่างกันเล็กน้อย สังเกตบรรทัดที่ขึ้นต้นด้วย "กำลังตรวจสอบ" vs "การปะแก้"
ตัวอย่างผลลัพธ์จากสภาพแวดล้อม 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 บรรทัดที่ท้ายไฟล์