Magento อัพเกรดจาก 1.7 เป็น 1.9


43

ฉันต้องอัพเกรด Magento store ของฉันจาก 1.7 เป็น 1.9 ฉันยังใหม่กับ Magento, SSH และ MySQL ฉันแค่สงสัยว่าเป็นวิธีที่ง่ายที่สุดในการอัพเกรดโดยไม่ทำลายเว็บไซต์ของฉัน


2
สิ่งที่น่ายกย่องที่เขียนนั้นสั้นเกินไป คุณสามารถมีปัญหามากมายเกี่ยวกับส่วนขยายชุดรูปแบบชิ้นส่วนที่ขาดหายไปของชุดรูปแบบโดยเฉพาะ form_keys ทั้งหมดในรุ่น 1.8 จริง ๆ ถ้าคุณไม่รู้จักเครื่องมือของคุณระวังให้มากและอย่าลองใช้สภาพแวดล้อมของคุณ!
Fabian Blechschmidt

ฉันทำโคลนเว็บไซต์ของฉันผ่าน cpannel (เรียกว่า: senore.com/ecommerce) จากนั้นอัปเกรดไซต์โคลนการอัปเกรดทำงาน (ดีบอกว่าในแบ็กเอนด์ว่าตอนนี้เป็นเวอร์ชั่น 1.9.0.1) อย่างไรก็ตามเมื่อฉันเปิดต้นฉบับของฉัน เว็บไซต์ (senore.com) ไม่มีลิงค์ใดที่ทำงานได้เพียงแค่บอกว่ามีข้อผิดพลาด 404 และฉันต้องเพิ่ม "/ ecommerce" เพื่อดูหน้าใด ๆ ความคิดใดทำไม
Adam Allen

สวัสดีอดัมอย่างที่คุณคิดคุณไม่ได้สร้างฐานข้อมูลโคลนด้วย เช่นเดียวกันคุณต้องเรียกใช้เว็บไซต์เดิมของคุณบนฐานข้อมูลเก่าและ magento 1.9 ใหม่บนฐานข้อมูลที่สร้างขึ้นใหม่ ดังนั้นเว็บไซต์ทั้งสองทำงานพร้อมกัน
Praful S Zaru

เกือบ 25k views และเพียง 4 up votes!?!?!?!?!?!? ??
SR_Magento

สุจริตตัวเลือกที่ดีที่สุดในการจ้างผู้ให้บริการ Magento Upgrade อย่างมืออาชีพเช่นmagecomp.com/magento-upgrade-service.html
Gaurav Jain

คำตอบ:


50

อัพเกรด Roadmap สำหรับ CE 1.9.0.1 จาก 1.7

  1. ทำการสำรองฐานข้อมูลปัจจุบันและรหัส 1.7 ปัจจุบัน วางไฟล์ maintenance.flag ไว้ในโฟลเดอร์ 1.7 Code เพื่อทำให้เว็บไซต์ออฟไลน์
  2. ดาวน์โหลดวีโอไอพีรุ่นล่าสุดได้จากhttp://www.magentocommerce.com/download
  3. ลบโฟลเดอร์และไฟล์ทั้งหมดออกจากรหัส 1.7 ของคุณยกเว้นmaintenance.flag(แต่คุณควรมีข้อมูลสำรองไว้) และวางโฟลเดอร์และไฟล์ทั้งหมดจาก 1.9
  4. ตอนนี้จาก 1.7 รวมโฟลเดอร์ที่กำหนดเองของคุณต่อไปนี้ลงใน 1.9
    • ชุมชน app/code/community
    • ในประเทศ app/code/local
    • สื่อ
    • ธีมหรือแพ็คเกจของคุณ ( app/design/frontend/default/<your theme>หรือapp/design/frontend/<your package>)
    • โฟลเดอร์ที่กำหนดเองจาก Skin (ทั้งสำหรับ adminhtml และ frontend)
    • คัดลอกไฟล์ xml ที่กำหนดเองของคุณจากapp/etc/modules/เป็นปัจจุบันapp/etc/modules/
    • ใด ๆ adminhtml/default/yourthemeโฟลเดอร์ผู้ดูแลระบบรูปแบบที่กำหนดเองจาก
    • คัดลอกโฟลเดอร์ที่กำหนดเองของคุณจากadminhtml/default/default/(1.7) ไปที่ adminhtml / default / default / (1.9)
    • ไฟล์ที่กำหนดเอง js ถ้าใด ๆ app/js/จาก
  5. ตอนนี้ไปที่. app/etc/local.xmlแก้ไขรายละเอียดฐานข้อมูลใส่ชื่อผู้ใช้ฐานข้อมูลและรหัสผ่านและชื่อฐานข้อมูลของคุณ
  6. ลบmaintenance.flagไฟล์และตรวจสอบเว็บไซต์ในเบราว์เซอร์ มันทำ

2
อย่าลืมคีย์เข้ารหัสของเวอร์ชั่นเก่า เมื่ออัปเกรดเว็บไซต์เป็นการติดตั้งใหม่โปรดใช้คีย์การเข้ารหัสเดียวกัน
Mohamed23gharbi

วิธีนี้ใช้ได้ดีสำหรับฉัน ส่วนขยายบางอย่างอาจต้องติดตั้งใหม่
yldziner

12
ฉันจะบอกว่ามันไม่ใช่คู่มือที่สมบูรณ์เกี่ยวกับวิธีการทำ มันจะทำงานในบางกรณี แต่ถ้าธีมที่กำหนดเองของคุณเปลี่ยนหน้าเข้าสู่ระบบตัวอย่าง - ลูกค้าของคุณจะไม่สามารถเข้าสู่ระบบได้อีกต่อไปโปรดดู: stackoverflow.com/questions/20565688/ ...... นอกจากนี้ยังกล่าวถึงการบำรุงรักษา มันตกลงที่จะทำเช่นนี้ในการถ่ายทอดสด ไม่อัพเกรด Magento บนสภาพแวดล้อมจริง ทดสอบเดฟ / การแสดงละครก่อนเสมอเพื่อจับเคสอย่างที่ฉันพูดถึงเพราะมีอะไรอีกมากมายที่จะผิดพลาดได้
Wiktor Jarka

1
นอกจากนี้อย่าลืมเพิ่มฟอร์มคีย์ไปยังเทมเพลตใหม่มิฉะนั้นคุณจะไม่สามารถใช้ฟอร์มใด ๆ ได้ ดูstackoverflow.com/a/20702053/564338สำหรับข้อมูลเพิ่มเติม
แดเนียลเวสต์


7

ก่อนอื่นให้สร้างฐานข้อมูลเหมือนกับ magento ปัจจุบัน 1.7 จากนั้นดาวน์โหลด magento 1.9.0.1 จากhttp://www.magentocommerce.com/download

ตอนนี้ทำการติดตั้ง magento 1.9 และเลือกฐานข้อมูลของเว็บไซต์เก่าของคุณ (magento 1.7.0.2)

ตอนนี้คุณสามารถนำธีมและสกินของคุณจากเวอร์ชันเก่าไปเป็นใหม่ จากนั้นตรวจสอบส่วนขยายบุคคลที่สามอย่างใดอย่างหนึ่งจากเก่าไปใหม่ ฉันทำมันและมันจะใช้ได้ผลสำหรับฉัน


4

Magento 1.x อัพเกรดคำสั่งโดยใช้ SSH หรือบรรทัดคำสั่ง:

1) ไปที่ไดเรกทอรีรากของวีโอไอพี

cd /path/to/your/magento/folder

2) เปิดใช้งานโหมดบำรุงรักษาสำหรับเว็บไซต์ Magento ของคุณ

สำหรับสิ่งนี้คุณต้องสร้างไฟล์ว่างที่มีชื่อmaintenance.flagในไดเรกทอรีรากของวีโอไอพี

touch maintenance.flag

3) ล้างแคช & เซสชัน

rm -rf var/cache/* var/session/*

4) ตรวจสอบการรวบรวม & ปิดใช้งานหากเปิดใช้งาน

ตรวจสอบสถานะคอมไพเลอร์

php -f shell/compiler.php -- state

หากCompiler Statusเป็นเช่นDisabledนั้นคุณสามารถข้ามขั้นตอนนี้และไปยังขั้นตอนถัดไป

หากCompiler Statusเป็นเช่นEnabledนั้นคุณจะต้องปิดการใช้งานด้วยคำสั่งต่อไปนี้:

php -f shell/compiler.php -- disable

5) ให้สิทธิ์เขียนไฟล์และโฟลเดอร์ Magento ทั้งหมด

chmod -R 777 .

6) ให้ไฟล์ mage ที่ได้รับอนุญาต 550 ไฟล์

ไฟล์ Mage เป็นไฟล์สคริปต์เชลล์ ด้วยการอนุญาต 550 เราจะทำให้ไฟล์ไม่สามารถเขียนได้ + อ่านได้ & ปฏิบัติการโดยผู้ใช้และกลุ่มเท่านั้น

chmod 550 ./mage

7) เปลี่ยนการตั้งค่า config ให้เสถียร

./mage config-set preferred_state stable

8) อัพเกรด Magento

คุณสามารถแสดงรายการแพ็กเกจที่ติดตั้งทั้งหมดด้วยคำสั่งต่อไปนี้:

./mage list-installed

คุณสามารถแสดงรายการแพ็กเกจที่อัพเกรดได้ทั้งหมดด้วยคำสั่งต่อไปนี้:

./mage list-upgrades

คำสั่งต่อไปนี้จะอัพเกรดแพ็คเกจทั้งหมด :

./mage upgrade-all --force

จะใช้เวลาสักครู่ในการอัปเกรดให้เสร็จสมบูรณ์

9) การทำดัชนีข้อมูลซ้ำ

หลังจากเสร็จสิ้นการอัพเกรดเราควรทำดัชนีข้อมูลทั้งหมดอีกครั้ง

php shell/indexer.php reindexall

10) จากนั้นล้างแคชและเซสชันอีกครั้ง

rm -rf var/cache/* var/session/*

11) เปิดใช้งานการรวบรวมเฉพาะเมื่อมันถูกเปิดใช้งานก่อนที่จะอัพเกรด

ตรวจสอบขั้นตอนที่ 4) ด้านบน

หากการรวบรวมไม่ได้เปิดใช้งานในขั้นตอนที่ 4) คุณสามารถข้ามขั้นตอนนี้และไปที่ขั้นตอนถัดไป

หากเปิดใช้งานการรวบรวมสำหรับเว็บไซต์ของคุณและคุณได้ปิดการใช้งานในขั้นตอนที่ 4) คุณจะต้องเปิดใช้งานด้วยคำสั่งต่อไปนี้:

php -f shell/compiler.php -- enable

12) เปลี่ยนการอนุญาตไฟล์

ก่อนการอัปเกรดเราได้เปลี่ยนการอนุญาตของไฟล์และโฟลเดอร์ทั้งหมดเป็น 777 นอกจากนี้คุณควรให้สิทธิ์ที่เหมาะสมกับไฟล์และโฟลเดอร์ทั้งหมดของเว็บไซต์ Magento ของคุณ

แปลงการอนุญาตให้ใช้ไฟล์เป็น 644 และการอนุญาตให้ใช้โฟลเดอร์เป็น 755

find . -type f -exec chmod 644 {} \; && find . -type d -exec chmod 755 {} \;

ให้สิทธิ์ในการอ่าน - เขียนอย่างเต็มรูปแบบเช่น 777 ไปยังโฟลเดอร์ var และ media

chmod -R 777 var media

ให้สิทธิ์ 550 ไฟล์สคริปต์ mage shell

chmod 550 ./mage

13) ตรวจสอบเวอร์ชั่นแพ็คเกจที่ติดตั้ง

ตรวจสอบเวอร์ชั่นของแพ็คเกจที่ติดตั้ง แพ็คเกจควรแสดงเป็นเวอร์ชั่นล่าสุดเนื่องจากได้รับการอัพเกรดแล้ว

./mage list-installed

14) รายการแพ็คเกจที่อัพเกรดได้

แสดงรายการแพ็คเกจที่สามารถอัพเกรดได้ (แพ็คเกจที่ต้องมีการอัพเกรด) สิ่งนี้จะส่งผลให้มีข้อความแจ้งว่าไม่มีการอัพเกรดเนื่องจากแพ็คเกจทั้งหมดได้รับการอัพเกรดเป็นเวอร์ชั่นล่าสุดแล้ว

./mage list-upgrades

15) ปิดการใช้งานโหมดบำรุงรักษาเพื่อทำให้เว็บไซต์อยู่ในสภาพดี

rm -f maintenance.flag

การดำเนินการนี้จะลบไฟล์maintenance.flagจากนั้นไซต์จะกลับมาทำงานอีกครั้ง

ตอนนี้คุณสามารถเข้าสู่ระบบผู้ดูแลระบบวีโอไอพีและดูรุ่นวีโอไอพีที่แสดงในส่วนท้าย ควรแสดงหมายเลขเวอร์ชันล่าสุด

ที่มา: Magento 1.x - อัปเดต / อัปเกรดเป็นเวอร์ชั่นล่าสุดผ่านทั้งเบราว์เซอร์และบรรทัดคำสั่ง


3
Current Version Magento CE 1.7.0.2

Admin panel -> System -> Magento Connect -> Magento Connect Manager

Check for Upgrades

Mage_All_Latest -> select Upgrade to 1.9.0.1 

ตรวจสอบให้แน่ใจว่าต้องคำนึงถึงส่วนขยายของบุคคลที่สามและการปรับแต่งในเครื่องแล้วทำการสำรองข้อมูลที่เหมาะสม


17
ไม่เคยใช้วีโอไอพี Connect ผู้จัดการ ... มีปัญหาหลายอย่างกับมันเป็น ...
ไซมอน

1
นอกจากนี้เมื่ออัปเกรดด้วย Connect คุณจะไม่ทราบว่ามีการดัดแปลงใดบ้าง
Mohamed23gharbi

1
@Simon (หรือคนอื่น ๆ ) คุณสามารถชี้แจงสถานะของคุณ, maybee กับแหล่งที่มา? ฉันทำการอัปเกรดทดสอบจาก 1.7 เป็น 1.9 ทุกอย่างทำงานได้ดี
Akif

@Akif เพียง google สำหรับมัน ดูเช่นinteger-net.com/...หรือmagento.stackexchange.com/q/40359/142
Simon

1
@Simon ขอบคุณฉันไม่เห็นว่าทำไมคนหนึ่งไม่ควรใช้มันตามข้อโต้แย้งของลิงค์แรกโดยพิจารณาว่าคนนั้นรู้ว่าเขาหรือเธอกำลังทำอะไรอยู่ สำหรับมืออาชีพที่ไม่ใช่ฉันคิดว่าข้อโต้แย้งส่วนใหญ่นั้นถูกต้อง ฉันหวังว่านี่จะทำให้คำชี้แจงของคุณชัดเจนด้วย +12 สำหรับการอ้างอิงในอนาคต มันควรจะเป็นมากกว่านั้น อย่าใช้มันจนกว่าคุณจะรู้ว่ากำลังทำอะไรอยู่ ".
Akif

1

ทำไมทุกคนไม่แนะนำวิธีที่ง่ายที่สุดจริง - ตามคำถามที่ต้องการ

เพียงไปที่ System >> Configuration >> Connect Manager

และใช้รหัส http://connect20.magentocommerce.com/community/mage_all_latest

Magento1 Connect Manager

และหากคุณต้องการรุ่นที่เฉพาะเจาะจงคุณสามารถดาวน์โหลดและอัปโหลดเป็นแพ็คเกจในการเชื่อมต่อคุณภาพเยี่ยมเดียวกัน

การอัพเกรดแพ็คเกจ Magento Connect Manager


+1 นี่คือวิธีที่ฉันอัปเดตการติดตั้ง Magento ทั้งสามรายการของเรา หากไม่ใช่สำหรับฉันที่จะตรวจสอบและทดสอบทุกอย่างอย่างละเอียดอาจใช้เวลาประมาณ 20 วินาทีในการอัปเดตแต่ละครั้ง เราเริ่มต้นที่ 1.7 และมีการอัปเดตเพิ่มขึ้นเป็น 1.9.4.0 อย่างง่ายดาย (นอกเหนือจาก form_keys สำหรับ 1.8) เพียงแค่ต้องล้างไดเรกทอรี pkginfo / และ var / package ก่อนที่จะเริ่มกระบวนการอัปเดตผ่าน Magento Connect
MagentoAaron

0

ทำตามขั้นตอนเหล่านี้เพื่ออัพเกรด Magento 1.7 store ของคุณเป็น Magento 1.9:

  1. การรวบรวม Magento จากระบบ> เครื่องมือ> การรวบรวม> ปิดการใช้งาน

  2. Magento Cache จากระบบ> การจัดการแคช> เลือกทั้งหมด> การกระทำ: ปิดการใช้งาน> ส่ง

  3. ลบไฟล์และโฟลเดอร์ทั้งหมดออกจากไดเรกทอรี Magento v1.7 ของคุณ (ตรวจสอบให้แน่ใจว่าได้สำรองข้อมูลของคุณไว้ในที่ปลอดภัย) และวางไฟล์และโฟลเดอร์ทั้งหมดจาก Magento v1.9.x แพ็คเกจ

  4. เปิดเว็บเบราว์เซอร์ที่คุณชื่นชอบไปที่ลิงก์ของคุณ คุณจะถูกขอให้ติดตั้งร้านค้า Magento v1.9.x ที่สดใหม่ แต่ไม่ต้องกังวลไปต่อและเมื่อคุณจะไปที่หน้าการกำหนดค่า กรอกข้อมูลเดียวกันกับที่คุณใช้สำหรับเก็บ Magento v1.7 ก่อนหน้าซึ่งรวมถึงชื่อโฮสต์เซิร์ฟเวอร์ SQL DB, ชื่อฐานข้อมูล SQL, ชื่อผู้ใช้ของเซิร์ฟเวอร์ SQL, รหัสผ่านเซิร์ฟเวอร์ SQL, URL พื้นฐานและเส้นทางผู้ดูแลระบบ

  5. เมื่อคุณเสร็จสิ้นการติดตั้งอย่าไปที่หน้าส่วนหน้าหรือส่วนหลัง จากการสำรองไฟล์และโฟลเดอร์ Magento v1.7 ของคุณให้คัดลอกและผสานไฟล์และโฟลเดอร์ต่อไปนี้ไปยังไดเรกทอรีเก็บ Magento v1.9.x ใหม่ของคุณ:

    • โฟลเดอร์ชุมชน: ROOT> แอป> รหัส> ชุมชน

    • Local Folder: ROOT> แอพ> code> local

    • โฟลเดอร์สื่อในไดเรกทอรีราก: ROOT> สื่อ

    • โฟลเดอร์ชุดรูปแบบของคุณ: รูท> แอป> การออกแบบ> ส่วนหน้า> ค่าเริ่มต้น (ชื่อแพ็คเกจ)>“ your_theme” (หากคุณใช้แพ็คเกจ“ ค่าเริ่มต้น” สำหรับชุดรูปแบบของคุณจากนั้นเพียงคัดลอกโฟลเดอร์ชุดรูปแบบ โฟลเดอร์)

    • โฟลเดอร์ผิวหนังในไดเรกทอรีราก: ราก> สกิน

    • ไฟล์ XML ที่กำหนดเองของโมดูล: ROOT> แอป> ฯลฯ > โมดูล>“ your_custom_XML_files”

    • โฟลเดอร์ธีมผู้ดูแลระบบ: ROOT> แอป> การออกแบบ> adminhtml> ค่าเริ่มต้น

    • Custom JS Folder: ROOT> app> js

    • ในที่สุดก็ลบทุกอย่างออกจาก ROOT> var> cache และจาก ROOT> var> session เพื่อล้าง session และ cache ทั้งหมด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.