घातक त्रुटि: तत्काल इंटरफ़ेस नहीं कर सकता


12

मेरा Magento स्टोर यह त्रुटि फेंक रहा है:

घातक त्रुटि: तत्काल इंटरफ़ेस मैगेंटो \ फ्रेमवर्क \ View \ Design \ Theme \ ResolverInterface इन / लाइकस /WebServer/Documents/magento/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php लाइन 73 पर नहीं हो सकता।

मुझे नहीं पता कि यह क्यों दिखाई देने लगा। मैंने कोई नया मॉड्यूल इंस्टॉलेशन नहीं किया। दुकान ठीक चल रही थी।

मैंने फ़ाइल अनुमतियाँ जाँच ली हैं और मुझे वहाँ कोई समस्या नहीं दिख रही है। / Var / dir हटाएं और, मुझे लगता है, सभी फ़ोल्डर / फ़ाइलें जहां बनाई गई हैं।

[संपादित करें] वरीयता को परिभाषित किया गया है विक्रेता / Magento / Magento2-base / app / etc / di.xml

<preference for="Magento\Framework\View\Design\Theme\ResolverInterface" type="Magento\Theme\Model\Theme\Resolver" /> 

1
मुझे उम्मीद है कि उर कस्टम मॉड्यूल या कोड को निर्माता या ऑब्जेक्ट मैनेजर में Magento \ Framework \ View \ Design \ Theme \ ResolverInterface का उपयोग करने की कोशिश कर रहे हैं
प्रदीप कुमार

@ प्रदीपकुमार नं।
फिलिप एसए

2
अपना कैश और की सामग्री साफ़ करें var/generation
मेरियस

@ माउस जैसा कि प्रश्न में कहा गया है, मैंने पहले ही / var / * फ़ोल्डर पूरी तरह से हटा दिया है।
फिलिप एसए

माफ़ करना। मुझे वह लाइन याद आ गई।
Marius

जवाबों:


23

यदि आप रेडिस का उपयोग करते हैं, तो दौड़ें:


redis-cli flushall



यदि आप भी ansible ( lxc - server) जैसे वातावरण का उपयोग करते हैं , तो आपको उस आदेश को कंटेनर में करना होगा। इसके अलावा मैंने निम्नलिखित किया:

  • स्पष्ट var/generation
  • स्पष्ट var/cache
  • Magento मॉड्यूल सक्षम करें: bin/magento module:enable --all
  • संकलित DI bin/magento setup:di:compile

1
वहाँ बहुत सारे भ्रामक समाधान थे और इसने तुरंत काम किया

3
Magento मॉड्यूल सक्षम करें: बिन / Magento मॉड्यूल: enable --all - मेरे लिए काम किया
Agnes

नहीं! यह अच्छा अभ्यास नहीं है! बिन / मैगनेटो मॉड्यूल: सक्षम - लंबा है जैसे कि chmod -R 777 :(
Kārlis मिलर्स

6

मेरे पास यह त्रुटि थी और यह संस्करण फ़ोल्डर को साफ़ करके और फिर चल रहा था setup:upgrade। यदि यह इसे हल नहीं करता है, तो di.xmlफ़ाइलों में त्रुटियों की तलाश करें


मेरे लिए, विशेष रूप सेvar/cache
जोशुआ सोइलू

धन्यवाद redis-cli flushallमेरे लिए काम किया।
सर्जन गौतम


2

यह मेरे लिए काम किया:

 sudo apt-get install php-intl

 sudo service apache2 reload

1

मेरे मामले में, मुझे एक मॉड्यूल को हटाना पड़ा और मैंने उचित तरीकों का पालन किए बिना बस मॉड्यूल की फ़ाइलों को हटा दिया और फिर यह त्रुटि हर जगह स्क्रीन पर थी। बहुत खोज करने के बाद मैं मॉड्यूल की फाइलों को वापस उसी निर्देशिका में बदलने के लिए समाप्त हो गया और सभी आवश्यक फ़ोल्डरों को var से हटा दिया और निम्न आदेशों को चलाया।

php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy

और सब तय हो गया। फिर मैंने मॉड्यूल को हटाने के उचित तरीकों का पालन किया। आशा है कि यह किसी को समय बचाता है। :-)


1

कैशे साफ़ करें rm -rf var/cache

यदि रेडिस सक्षम है, तो कमांड लाइन का उपयोग करके स्पष्ट रेडिस डीबी:

$> redis-cli
$> flushall

0
php bin/magento c:c
php bin/magento setup:di:compile

अपने मुद्दे को ठीक कर देंगे


0

डंप संगीतकार ऑटोलॉड फ़ाइलें:

$ composer dumpautoload

फिर:

bin/magento setup:upgrade
bin/magento setup:di:compile

0

उसी समस्या का सामना करना पड़ा जब मैं Magento संस्करण 2.3.3 को अद्यतन कर रहा था। इसलिए मैं app/etc/di.xmlनीचे पथ के साथ फ़ाइल सामग्री मदद की जगह । https://github.com/magento/magento2/blob/ddf42caaf25311f10b23b95a92746f99943e045e/app/etc/di.xml#L212

मेरा मुद्दा अब हल हो गया है


0

यह त्रुटि तब बनाई जाती है जब आप एक ऑब्जेक्ट (क्लास) बनाने की कोशिश करते हैं (वास्तव में) जो कि वास्तव में और इंटरफ़ेस है। यह आम तौर पर तब होता है जब आपने di.xml फ़ाइल में एक वर्ग के लिए इंटरफ़ेस को ओवरराइड नहीं किया है। या व्यवस्थापक html निर्देशिका में di.xml में ओवरराइड कर दिया है और दृश्यपटल में इंटरफ़ेस का उपयोग करने का प्रयास कर रहे हैं।

interface MyInterface{
   pubic function getVariable(): int
}

class MyClass 
implements MyInterface{

   protected $variable;

   pubic function getVariable(){
      return $this->variable;
   }
}

$variable = new MyInterface();

0

यह त्रुटि मॉड्यूल को सीधे एप्लिकेशन / etc / config.php में सक्षम या अक्षम करने के कारण भी हो सकती है, खासकर जब कोर Magento मॉड्यूल को सक्षम या अक्षम करने के लिए। ऐसे मामले में सबसे अच्छी बात यह होगी कि आप अपने कैश को साफ़ करें, रेडिस कैश को फ्लश करें, वार्निश और php-fpm को पुनः आरंभ करें। और यह काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.