سؤال

لذلك قمت بالتبديل إلى وضع المطور أثناء التطوير في مشروع Magento 2 باستخدام الأمر التالي:

php bin/magento deploy:mode:set developer

حسنًا، وصلتني هذه الرسالة وقمت بتطوير الموقع بشكل جيد:

وضع التطبيق الحالي:مطور.

لبعض الأسباب، أردت العودة إلى default الوضع فقط للتحقق من سلوك موقع الويب في هذا الوضع.لا توجد أسباب محددة لأكون صادقًا، أردت فقط العودة إلى هذا الوضع.

لذلك قمت بتشغيل الأمر التالي:

php bin/magento deploy:mode:set default

لكنني حصلت على هذا الخطأ الغريب دون مزيد من التوضيحات:

Cannot switch into given mode "default"

لقد قمت بفحص الملف التالي الذي يتعامل مع إعدادات الوضع Magento/Deploy/Console/Command/SetModeCommand.php وهذا ما وجدته:

switch($toMode) {
    case State::MODE_DEVELOPER:
        $modeController->enableDeveloperMode();
        break;
    case State::MODE_PRODUCTION:
        if ($skipCompilation) {
            $modeController->enableProductionModeMinimal();
        } else {
            $modeController->enableProductionMode();
        }
        break;
    default:
        throw new LocalizedException(__('Cannot switch into given mode "%1"', $toMode));
}

كم هو غريب ذلك، يتم شحن Magento 2 في الوضع الافتراضي ولكن لا يمكنك العودة إلى هذا الوضع المحدد.ما هو السبب وراء هذا؟

يحرر:بالنسبة للمهتمين، انتهى بي الأمر إلى إنشاء مشكلة على جيثب: https://github.com/magento/magento2/issues/4292

هل كانت مفيدة؟

المحلول

الوضع الافتراضي ليس هنا ولا هناك.

mode overview

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

عن طريق الركض php bin/magento deploy:mode:set لقد حددت نفسك على أنك قادر ولا تحتاج إلى الوضع الافتراضي.نظرًا لعدم وجود سبب للحاجة إلى العودة إلى الوضع الافتراضي، لم توفر لك Magento طريقة للقيام بذلك.

نصائح أخرى

الوضع الافتراضي موجود فقط لتثبيت Magento 2.
لا ينبغي أن تستخدم للتطوير أو الإنتاج.
بعد التثبيت، يمكنك فقط التبديل بين dev وprod.

مصدر:آلان كينت @MagentoImagine2016

بصفته مطور Windows، في وضع المطور، يريد Magento إنشاء روابط رمزية للأصول الثابتة، ولكنه يستخدم أمر Linux وليس أمر windows.يؤدي هذا إلى حدوث الكثير من الأخطاء في ملفات js وcss.

للعودة إلى الوضع الافتراضي، افتح: -

app/etc/env.php

والتغيير:-

'MAGE_MODE' => 'developer',

ارجع الى:-

'MAGE_MODE' => 'default',

وأعد نشر الملفات الثابتة مرة أخرى.

لقد واجهت نفس المشكلة ولكن تم تغييرها env.php يعمل يدويا.

**set mode 2.3.x**

الآن يتيح لنا Magento العودة إلى الوضع الافتراضي من 2.3.x

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top