จะอัพเกรด Magento 2 เป็นเวอร์ชั่นล่าสุดได้อย่างไร?

เผยแพร่แล้ว: 2022-05-27

บทนำ

โดยปกติแล้วจะมุ่งเป้าไปที่การปรับปรุงความปลอดภัยและเพิ่มประสิทธิภาพการทำงาน เทคโนโลยีเวอร์ชันใหม่กว่าจะนำมาซึ่งการเปลี่ยนแปลงและแก้ไขตามช่องโหว่ของเวอร์ชันก่อนหน้า ผ่านบล็อกนี้ เราจะดูขั้นตอนในการอัพเกรด Magento 2 เป็นเวอร์ชันล่าสุด 2.4.4

ก่อนที่เราจะเจาะลึกลงไปในกระบวนการ มาทำความเข้าใจความต้องการขั้นพื้นฐานสำหรับการอัปเดตทางเทคโนโลยีและเจ็ดประเด็นที่ Magento 2.4.4 ถูกมองว่าเป็นการเปิดตัวครั้งใหญ่และสำคัญ

เกี่ยวกับการอัปเดต Magento 2.4.4

จุดประสงค์หลักของการอัปเดตทุกเวอร์ชันคือการปรับปรุงความปลอดภัยและประสิทธิภาพด้วยการเปลี่ยนแปลงเพิ่มเติม เช่น การอัปเกรดโครงสร้างพื้นฐาน การปรับปรุงโค้ด และการแนะนำคุณลักษณะใหม่ ด้วยการเปิดตัว Magento 2.4.4 ผู้เชี่ยวชาญทั่วทั้งอุตสาหกรรมกำลังพิจารณาว่าเป็นรุ่นที่สำคัญเนื่องจากมุ่งเน้นไปที่หกด้านของการเปลี่ยนแปลง

  1. ขอแนะนำการรองรับ PHP 8.0 สำหรับ Magento 2.4.4 และ PHP 8.1 สำหรับแพลตฟอร์มอีคอมเมิร์ซ การอัปเดตภาษาแสดงการเร่งความเร็ว 23.0% ในการสาธิต Symfony

  2. การเพิ่มการสนับสนุน OpenSearch พร้อมกับการรองรับ ElasticSearch

  3. เลิกใช้ส่วนขยายและโมดูลของบริษัทอื่นแล้ว ตอนนี้ Magento ถูกแยกออกและอนุญาตให้ใช้ฟีเจอร์ส่วนใหญ่ได้โดยไม่ต้องใช้ประโยชน์จากการผสานรวมของบุคคลที่สาม

  4. อัปเดตส่วนประกอบซอฟต์แวร์ที่สำคัญ เช่น การเพิ่มการสนับสนุน ElasticSearch 7.16.1 และ OpenSearch 1.1 การอัปเกรด jquery-ui เป็นเวอร์ชัน 1.13.0 และไลบรารีโครงการและการพึ่งพาที่เข้ากันได้กับ PHP 8.1

  5. การลบและอัปเดตไลบรารีเพื่อเพิ่มประสิทธิภาพ สิ่งต่อไปนี้ถูกลบออก – es6-collections.js, MutationObserver.js, Modernizr, FormData.js และไลบรารีที่อัปเดตเช่น script.aculo.us, Chart.js, moment.js, moment-timezone-with-data.js, matchMedia .js, underscore.js, PrototypeJS

  6. ด้วยการเปิดตัว Magento 2.4.4 Adobe ได้สัญญาว่าจะแก้ไขข้อผิดพลาด GraphQL เพื่อแก้ไขปัญหาการกำหนดค่าผลิตภัณฑ์ ปัญหาการระบุผลิตภัณฑ์ ลักษณะที่ปรากฏของหมวดหมู่ ฯลฯ

ตอนนี้เราทราบการอัปเดตที่ Magento 2.4.4 แตกแล้ว มาดูขั้นตอนในการอัพเกรดกัน

จะอัพเกรดเป็น Magento 2.4.4 ได้อย่างไร?

มีสามวิธีในการอัพเกรด Magento

  1. การใช้ Composer จากบรรทัดคำสั่ง

  2. การใช้ตัวช่วยสร้างการตั้งค่าเว็บจากผู้ดูแลระบบ

  3. ดาวน์โหลด Magento ล่าสุดและแทนที่ไฟล์หลัก

ตั้งแต่เปิดตัว Magento 2.4.0 Magento ได้ลบ Web Setup Wizard ออกจากแผงการดูแลระบบ ดังนั้นนักพัฒนาจึงต้องอัปเดต Magento จากบรรทัดคำสั่งหรือโดยการแทนที่ไฟล์ ฉันจะแนะนำฟังก์ชันบรรทัดคำสั่ง เนื่องจากไม่มีตัวเลือก Web Setup Wizard เราจะพูดถึงเฉพาะตัวเลือกที่มีเท่านั้น

การใช้ผู้แต่งจาก Command Line

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

นักแต่งเพลงต้องการ magento/product-community-edition 2.4.4 –no-update

เมื่อคุณเขียนคำสั่งข้างต้นแล้ว คุณต้องอัปเดต Magento โดยใช้ตัวแต่ง

อัพเดทผู้แต่ง

หลังจากรันคำสั่ง composer update คุณสามารถดาวน์โหลดโมดูลที่อัพเดตทั้งหมดได้จากที่เก็บ Magento ตรวจสอบให้แน่ใจว่าข้อกำหนดระบบของคุณเข้ากันได้กับ Magento เวอร์ชันล่าสุด หากทุกอย่างเป็นไปตามที่คาดไว้ คุณจะไม่ประสบปัญหาใดๆ ขณะอัปเดต Magento แต่คุณอาจประสบปัญหาทั่วไปส่วนใหญ่หากระบบของคุณไม่ทันสมัยหรือส่วนขยายของบุคคลที่สามอาจสร้างปัญหาได้

ด้านล่างนี้คือปัญหาที่ทราบที่คุณอาจเผชิญขณะอัปเดต Magento

1) ค่าคงที่คลาสที่ไม่ได้กำหนด PRE_COMMAND_RUN

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

นักแต่งเพลงอัพเดตตัวเอง

2) ประเภทตัวดาวน์โหลดที่ไม่รู้จัก: ประเภทที่มี: git, svn, ฟอสซิล, hg, perforce, zip, rar, tar, gzip, xz, phar, ไฟล์, เส้นทาง

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

ดาวน์โหลด Magento ล่าสุดและแทนที่ไฟล์หลัก

การแทนที่ไฟล์หลักไม่ใช่วิธีที่แนะนำในการอัปเดต Magento แต่ในบางกรณี เมื่อ Magento มีส่วนขยายของบุคคลที่สามและการปรับแต่งเพิ่มเติม เราต้องเลือกวิธีนี้ กระบวนการนี้ตรงไปตรงมา ขั้นแรก คุณต้องสำรองข้อมูลโฟลเดอร์หลักของ Magento ทั้งหมด ไม่ใช่แค่โฟลเดอร์ "ผู้ขาย" เท่านั้น

หลังจากสำรองข้อมูลโฟลเดอร์หลักแล้ว คุณต้องดาวน์โหลด Magento เวอร์ชันล่าสุดและแทนที่โฟลเดอร์เฉพาะ

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

php bin/การติดตั้งวีโอไอพี:อัพเกรด

การตั้งค่า php bin/magento:static-content:deploy

และนี่คือทั้งหมดที่คุณต้องทำเพื่ออัปเดต Magento มีบางสิ่งที่ควรพิจารณาก่อนอัปเดต Magento

  1. สำรองข้อมูลเว็บไซต์ของคุณก่อน

  2. สำรองข้อมูลฐานข้อมูลของคุณ เนื่องจากเมื่อคุณรันคำสั่ง "setup upgrade" หลังจากการอัปเกรด ฟิลด์ใหม่ในตารางหรือบางฟิลด์อาจถูกลบออก

  3. ตรวจสอบว่าธีมและส่วนขยายของคุณเข้ากันได้กับ Magento เวอร์ชันล่าสุดหรือไม่

ด้านบน เราพบปัญหาขณะอัปเกรด Magento ตอนนี้เราจะพูดถึงปัญหาที่ทราบหลังจากอัปเกรด Magento

ปฏิเสธที่จะรันสคริปต์แบบอินไลน์เนื่องจากละเมิดคำสั่งนโยบายการรักษาความปลอดภัยของเนื้อหาต่อไปนี้

Magento เปิดตัวโมดูลใหม่ที่เรียกว่า “Magento_CSP” เกี่ยวกับ CSRF Protection คุณต้องอนุญาตการเข้าถึงทรัพยากร CDN ทั้งหมด คุณสามารถสร้างไฟล์ XML ในโมดูลของคุณได้ที่เส้นทางด้านล่าง

app/etc/COMPANYNAME/MODULENAME/etc/csp_whitelist.xml

เพิ่มรหัสด้านล่างในไฟล์ของคุณ ตัวอย่างนี้ใช้ได้กับ URL การวิเคราะห์ของ Google

<?xml version=”1.0″?>

<csp_whitelist xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=”urn:magento:module:Magento_Csp/etc/csp_whitelist.xsd”>

<นโยบาย&gt

<policy id="script-src">

<ค่า>

<!–Google>

<value id=”google-analytics” type=”host”>www.google-analytics.com> </value>

</values>

<นโยบาย>

<นโยบาย>

<csp_whitelist>

บทสรุป

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

Magento ยังต้องการเวอร์ชันที่อัปเดตของส่วนขยายและธีม ดังนั้นคุณจึงสามารถใช้ประโยชน์จากสิ่งเหล่านั้นได้เช่นกัน ดังนั้น ติดต่อบริษัท Magento Development ที่มีประสบการณ์ ซึ่งจะตอบสนองความต้องการด้านการพัฒนาของคุณโดยไม่ยุ่งยาก!

คำถามที่พบบ่อย
ตัวเลือกการชำระเงิน Venmo รองรับ Magento เวอร์ชันใหม่กว่าหรือไม่

ใช่ Magento มีการปรับปรุงการชำระเงินด้วย PayPal และรองรับตัวเลือกการชำระเงิน Venmo

ฉันจำเป็นต้องอัปเดตเวอร์ชัน mysql หรือไม่

Magento 2.4.4 รองรับ mysql 8.0 ถ้าใช้งานอยู่แล้วไม่ต้องอัพเดท

ส่วนขยายจะอัปเดตโดยอัตโนมัติโดยเรียกใช้การอัปเดตผู้แต่งหรือไม่

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

เราจำเป็นต้องอัปเกรดการกำหนดค่าเซิร์ฟเวอร์เพื่ออัปเดตเวอร์ชัน Magento หรือไม่

ไม่ คุณเพียงแค่ต้องแน่ใจเกี่ยวกับเวอร์ชัน PHP