Kunci registri mage "_singleton / weee / observer" sudah ada

13

Ketika saya mencoba menambah atau mengedit produk, saya menerima kesalahan berikut:

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}

Magento ver. 1.7.0.0 Compiler dimatikan dibersihkan cache dibangun kembali indeks tidak ada pembaruan atau ekstensi baru telah diinstal itu hanya berhenti bekerja

Bantuan apa pun akan dihargai!

sinar matahari sedikit
sumber
1
Dari pemahaman saya ini disebabkan oleh cache, apakah Anda yakin itu dihapus? Bagaimana Anda membersihkannya?
Peter O'Callaghan
Saya menggunakan Cache Management di bawah System - Flush Magento Cache dan Flush Cache Storage. Apakah ada cara untuk memeriksa apakah cache telah dihapus?
littleredsunshine
Dengan asumsi Anda menggunakan cache berbasis file, periksa ada sesuatu di dalam var/cachedirektori, jika ada, hapus semua yang ada di folder.
Peter O'Callaghan
Mencoba itu, masih mendapatkan kesalahan. Di bagian paling atas layar ada juga referensi ke Linux sitename 3.8.0-41-generic # 60 ~ precision1-Ubuntu SMP Fri 16 Mei 2014 00:18:00 UTC 2014 x86_64 Terima kasih atas jawaban cepat dan bantuan Anda!
littleredsunshine

Jawaban:

16

Kesalahan ini tiba karena nilai kosong di registri.

untuk mencegahnya, Anda perlu menonaktifkan mode 'kompilasi', dan jika Anda ingin menggunakannya, jalankan kembali.

php -f shell/compiler.php disable
php -f shell/compiler.php clear
php -f shell/compiler.php compile
Abhishek Gupta
sumber
Mencoba menghapus dan menonaktifkan kompiler dan masih mendapatkan kesalahan. Gagasan lain akan dihargai.
littleredsunshine
Jalankan Kompilasi berfungsi !!!
MageDev
Abhishek kamu adalah pahlawanku! Posting ini memperbaiki masalah yang telah saya habiskan berjam-jam dengan kesalahan yang sama dengan posting di atas. Kompilasi dari panel admin menyebabkan kesalahan. Tetapi berlari dari baris perintah bekerja dengan baik :)
MagentoMac
4

Periksa apakah kode pengamat acara Anda dalam modul Anda config.xmlsudah benar.

Seharusnya seperti ini:

<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>

Saya pernah mendapatkan kesalahan semacam ini karena saya menggunakan modulename/observernode kelas. Menggunakan nama kelas penuh ( YourNamespace_YourModule_Model_Observer) memecahkan kesalahan untuk saya.

Dalam kode xml event-observer modul Anda, Anda mungkin menggunakan classseperti di bawah ini:

<class>yourmodule/observer</class>

Coba gunakan ini sebagai gantinya (seperti yang dilakukan dalam kode xml event-observer):

<class>YourNamespace_YourModule_Model_Observer</class>
Mukesh Chapagain
sumber
1
  1. Nonaktifkan ekstensi dari app\etc\moduelsdirektori.
  2. Kosongkan cache dan
  3. Jalankan Kompilasi.

Sekarang, itu akan berfungsi dengan baik.

MageDev
sumber
0

Nonaktifkan Kompilasi pertama dan cache.

Dan Bersihkan semua cache dengan paksa.

Kemudian instal Ekstensi.

Setelah itu Jalankan proses kompilasi.

Proses di atas bekerja untuk saya.

Roshni
sumber
0

Untuk menonaktifkan kompilasi di Magento, edit sertakan / config.php. Di sekitar baris 28, batalkan komentar pada baris pertama dan komentar kedua:

#define('COMPILER_INCLUDE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'src');
define('COMPILER_COLLECT_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'stat');
Minakshi Agrawal
sumber