كيفية ترقية 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 Demo.

  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 ، و undercore.js ، و PrototypeJS.

  6. مع إصدار Magento 2.4.4 ، وعدت Adobe بإصلاح أخطاء GraphQL لحل مشكلات تكوين المنتج ، ومشكلات تعريف المنتج ، وظهور الفئات وما إلى ذلك ،

الآن بعد أن عرفنا التحديثات التي يكسرها Magento 2.4.4 ، دعنا نلقي نظرة على خطوات ترقيته.

كيفية الترقية إلى Magento 2.4.4؟

كانت هناك ثلاث طرق لترقية Magento

  1. استخدام الملحن من سطر الأوامر

  2. استخدام معالج إعداد الويب من المسؤول

  3. قم بتنزيل أحدث إصدار من Magento واستبدل الملفات الأساسية

منذ إصدار Magento 2.4.0 ، أزال Magento معالج إعداد الويب من لوحة الإدارة. لذلك ، يتعين على المطورين تحديث Magento من سطر الأوامر أو عن طريق استبدال الملف. سأقترح وظيفة سطر الأوامر. نظرًا لعدم وجود خيار معالج إعداد الويب ، سنناقش الخيارات المتاحة فقط.

استخدام الملحن من سطر الأوامر

يعد تحديث Magento باستخدام الملحن الطريقة الأولى لتحديث Magento. الخطوة الأولى في هذه العملية هي تحديد إصدار 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 ، fossil ، hg ، perforce ، zip ، rar ، tar ، gzip ، xz ، phar ، file ، path

يتعلق هذا أيضًا بإصدار الملحن إذا كنت قد قمت بتحديث إصدار الملحن وما زلت تتلقى هذا الخطأ ، فاحتفظ بنسخة احتياطية من مجلد البائع وأعد تشغيل الأمر.

قم بتنزيل أحدث Magento واستبدل الملفات الأساسية

لا يُنصح باستبدال الملفات الأساسية لتحديث Magento. ولكن في بعض الحالات ، عندما يكون لدى Magento المزيد من ملحقات الجهات الخارجية والمزيد من التخصيص ، يتعين علينا الاختيار بهذه الطريقة. هذه العملية مباشرة. أولاً ، تحتاج إلى عمل نسخة احتياطية من جميع مجلدات Magento الأساسية ، وليس فقط مجلد "البائع".

بعد عمل نسخة احتياطية من المجلدات الأساسية ، تحتاج إلى تنزيل أحدث إصدار من Magento واستبدال مجلدات معينة.

بمجرد إجراء جميع التغييرات المذكورة أعلاه ، تحتاج إلى تشغيل ترقية الإعداد ونشر الأوامر.

php bin / magento setup: ترقية

إعداد php bin / magento: محتوى ثابت: نشر

وهذا كل ما عليك القيام به لتحديث Magento. هناك بعض الأشياء التي يجب مراعاتها قبل تحديث Magento.

  1. النسخ الاحتياطي لموقعك أولا

  2. قم بعمل نسخة احتياطية من قاعدة البيانات لأنه عند تشغيل أمر "ترقية الإعداد" بعد الترقية ، قد يتم مسح الحقول الجديدة في الجدول أو بعض الحقول.

  3. تحقق مما إذا كانت مظهرك وملحقاتك متوافقة مع الإصدارات الأحدث من Magento.

أعلاه ، رأينا المشكلات أثناء ترقية Magento. سنناقش الآن بعض المشكلات المعروفة بعد ترقية Magento.

رفض تنفيذ البرنامج النصي المضمّن لأنه ينتهك توجيه سياسة أمان المحتوى التالي.

قدمت Magento الوحدة الجديدة المسماة "Magento_CSP" فيما يتعلق بحماية CSRF. تحتاج إلى السماح بالوصول إلى جميع موارد 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”>

<القيم>

<! - جوجل>

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

</values>

<سياسة>

<السياسات>

<csp_whitelist>

استنتاج

لا يعد تشغيل إصدار أقدم من Magento فكرة جيدة. في الوقت الحاضر ، من الضروري أن تكون محدثًا. ستزودك ترقية Magento بآخر تحديثات الأمان ومزايا الميزات الجديدة وتحسينات الأداء.

يتطلب Magento أيضًا إصدارًا محدثًا من الإضافات والسمات حتى تتمكن من الاستفادة منها أيضًا. لذلك ، اتصل بشركة Magento Development ذات الخبرة والتي ستلبي احتياجات التطوير الخاصة بك بدون متاعب!

التعليمات
هل خيار الدفع Venmo مدعوم للإصدار الأحدث من Magento

نعم ، لدى Magento تحسينات PayPal Payment وتدعم خيار الدفع Venmo

هل أحتاج إلى تحديث إصدار mysql؟

يدعم Magento 2.4.4 إصدار mysql 8.0. إذا كنت تستخدمه بالفعل فلا داعي للتحديث.

هل سيتم تحديث الملحقات تلقائيًا عن طريق تشغيل تحديث الملحن؟

لا ، إذا قمت بتثبيت امتداد باستخدام الملحن ، فيجب عليك تحديد إصدار جديد لتلك الامتدادات قبل تشغيل تحديث الملحن.

هل نحتاج إلى ترقية تكوين الخادم لتحديث إصدار Magento؟

لا ، ما عليك سوى التأكد من إصدار PHP.