마법사 레지스트리 키“_singleton / weee / observer”가 이미 존재합니다


13

제품을 추가하거나 편집하려고하면 다음 오류가 발생합니다.

Mage registry key "_singleton/weee/observer" already exists
Trace:
#0 app/Mage.php(222): Mage::throwException('Mage registry k...')
#1 app/Mage.php(476): Mage::register('_singleton/weee...', false)
#2 app/code/core/Mage/Core/Model/App.php(1316): Mage::getSingleton('weee/observer')
#3 app/Mage.php(447): Mage_Core_Model_App->dispatchEvent('adminhtml_catal...', Array)
#4 app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Attributes.php(143): Mage::dispatchEvent('adminhtml_catal...', Array)
#5 app/code/core/Mage/Adminhtml/Block/Widget/Form.php(144): Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Attributes->_prepareForm()
#6 app/code/core/Mage/Core/Block/Abstract.php(862): Mage_Adminhtml_Block_Widget_Form->_beforeToHtml()
#7 app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tabs.php(79): Mage_Core_Block_Abstract->toHtml()
#8 app/code/core/Mage/Core/Block/Abstract.php(238): Mage_Adminhtml_Block_Catalog_Product_Edit_Tabs->_prepareLayout()
#9 app/code/core/Mage/Core/Model/Layout.php(456): Mage_Core_Block_Abstract->setLayout(Object(Mage_Core_Model_Layout))
#10 app/code/core/Mage/Core/Model/Layout.php(472): Mage_Core_Model_Layout->createBlock('adminhtml/catal...', 'product_tabs')
#11 app/code/core/Mage/Core/Model/Layout.php(239): Mage_Core_Model_Layout->addBlock('adminhtml/catal...', 'product_tabs')
#12 app/code/core/Mage/Core/Model/Layout.php(205): Mage_Core_Model_Layout->_generateBlock(Object(Mage_Core_Model_Layout_Element), Object(Mage_Core_Model_Layout_Element))
#13 app/code/core/Mage/Core/Model/Layout.php(210): Mage_Core_Model_Layout->generateBlocks(Object(Mage_Core_Model_Layout_Element))
#14 app/code/core/Mage/Core/Controller/Varien/Action.php(344): Mage_Core_Model_Layout->generateBlocks()
#15 app/code/core/Mage/Core/Controller/Varien/Action.php(269): Mage_Core_Controller_Varien_Action->generateLayoutBlocks()
#16 app/code/core/Mage/Adminhtml/Controller/Action.php(275): Mage_Core_Controller_Varien_Action->loadLayout(Array, true, true)
#17 app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php(207): Mage_Adminhtml_Controller_Action->loadLayout(Array)
#18 app/code/core/Mage/Core/Controller/Varien/Action.php(419): Mage_Adminhtml_Catalog_ProductController->newAction()
#19 app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('new')
#20 app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#21 app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#22 app/Mage.php(683): Mage_Core_Model_App->run(Array)
#23 index.php(124): Mage::run('catalog', 'website')
#24 {main}

마 젠토 ver. 1.7.0.0 컴파일러에서 지워진 캐시 재 구축 색인을 해제했습니다. 업데이트가 없거나 새 확장 프로그램이 설치되어 작동하지 않습니다.

도움을 주시면 감사하겠습니다!


1
내 이해에서 이것은 캐시로 인해 발생합니다. 지워졌습니까? 어떻게 정리 했습니까?
Peter O'Callaghan

System-Flush Magento Cache 및 Flush Cache Storage에서 Cache Management를 사용했습니다. 캐시가 플러시되었는지 확인하는 방법이 있습니까?
littleredsunshine

파일 기반 캐시를 사용한다고 가정하면 var/cache디렉토리 내부에 무언가가 있는지 확인 하고 있으면 폴더의 모든 항목을 삭제하십시오.
Peter O'Callaghan

그것을 시도했지만 여전히 오류가 발생합니다. 화면 맨 위에는 Linux 사이트 이름 3.8.0-41-generic # 60 ~ precise1-Ubuntu SMP에 대한 참조도 있습니다. 5 월 16 일 00:18:00 UTC 2014 x86_64 빠른 답변과 도움에 감사드립니다!
littleredsunshine

답변:


16

레지스트리의 빈 값으로 인해이 오류가 발생합니다.

이를 방지하려면 '컴파일'모드를 비활성화해야하며, 사용하려면 다시 실행하십시오.

php -f shell/compiler.php disable
php -f shell/compiler.php clear
php -f shell/compiler.php compile

컴파일러를 지우고 비활성화하려고 시도했지만 여전히 오류가 발생했습니다. 다른 아이디어가 있으면 감사하겠습니다.
littleredsunshine

컴파일 실행 작동 !!!
MageDev

Abhishek 당신은 나의 영웅입니다! 이 게시물은 위 게시물과 비슷한 오류로 몇 시간을 보냈던 문제를 수정했습니다. 관리자 패널에서 컴파일하면 오류가 발생했습니다. 그러나 커맨드 라인에서 실행하면 잘 작동했습니다 :)
MagentoMac

4

모듈의 이벤트 옵저버 xml 코드가 있는지 확인하십시오. config.xml 가 모두 올바른지 확인하십시오.

다음과 같아야합니다.

<events>
    <event_name_that_you_are_working_on>
        <observers>
            <some_unique_identifier>
                <type>singleton</type>
                <class>YourNamespace_YourModule_Model_Observer</class>
                <method>functionNameInYourObserver</method>
            </some_unique_identifier>
        </observers>
    </event_name_that_you_are_working_on>
</events>

modulename/observer내부 클래스 노드를 사용했기 때문에 한 번 이런 종류의 오류가 발생했습니다 . 전체 클래스 이름 사용 (YourNamespace_YourModule_Model_Observer )을 하면 오류가 해결되었습니다.

모듈의 이벤트 관찰자 xml 코드에서 다음 class과 같이 사용할 수 있습니다.

<class>yourmodule/observer</class>

위의 이벤트 관찰자 XML 코드에서와 같이 이것을 대신 사용해보십시오.

<class>YourNamespace_YourModule_Model_Observer</class>

1
  1. 에서 확장 프로그램 사용 중지 app\etc\moduels디렉토리 .
  2. 캐시 지우기
  3. 컴파일을 실행하십시오.

이제 잘 작동합니다.


0

먼저 컴파일 및 캐시를 비활성화합니다.

그리고 모든 캐시를 강제로 지 웁니다.

그런 다음 확장을 설치하십시오.

그 후 컴파일 실행 프로세스.

위의 과정이 나를 위해 일했습니다.


0

Magento에서 컴파일을 비활성화하려면 includes / config.php를 편집하십시오. 28 행 경에서 첫 번째 행의 주석을 해제하고 두 번째 행을 주석 처리하십시오.

#define('COMPILER_INCLUDE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'src');
define('COMPILER_COLLECT_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'stat');
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.