2012-08-01 2 views
1

관리자 패널을 laoding했을 때이 오류가 발생했습니다.마술 등록 키 "_singleton/awall/feed_extensions"가 이미 존재합니다

어떻게 해결할 수 있습니까?

There has been an error processing your request 

Mage registry key "_singleton/awall/feed_extensions" already exists 

Trace: 
#0 /var/www/magento_upgrade/app/Mage.php(222): Mage::throwException('Mage registry k...') 
#1 /var/www/magento_upgrade/app/Mage.php(476): Mage::register('_singleton/awal...', false) 
#2 /var/www/magento_upgrade/app/code/core/Mage/Core/Model/App.php(1316): Mage::getSingleton('awall/feed_exte...') 
#3 /var/www/magento_upgrade/app/Mage.php(447): Mage_Core_Model_App->dispatchEvent('controller_acti...', Array) 
#4 /var/www/magento_upgrade/app/code/core/Mage/Core/Controller/Varien/Action.php(528): Mage::dispatchEvent('controller_acti...', Array) 
#5 /var/www/magento_upgrade/app/code/core/Mage/Adminhtml/Controller/Action.php(160): Mage_Core_Controller_Varien_Action->preDispatch() 
#6 /var/www/magento_upgrade/app/code/core/Mage/Core/Controller/Varien/Action.php(408): Mage_Adminhtml_Controller_Action->preDispatch() 
#7 /var/www/magento_upgrade/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('index') 
#8 /var/www/magento_upgrade/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http)) 
#9 /var/www/magento_upgrade/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch() 
#10 /var/www/magento_upgrade/app/Mage.php(683): Mage_Core_Model_App->run(Array) 
#11 /var/www/magento_upgrade/index.php(87): Mage::run('', 'store') 
#12 {main} 

답변

0

이것은 동일한 키 이름 _singleton/awall/feed_extensions을 이미 등록했기 때문에 나타납니다. Mage.php에서 볼 수 있듯이

public static function register($key, $value, $graceful = false) 
{ 
    if (isset(self::$_registry[$key])) { 
     if ($graceful) { 
      return; 
     } 
     self::throwException('Mage registry key "'.$key.'" already exists'); 
    } 
    self::$_registry[$key] = $value; 
} 

다른 이름으로 등록하려고합니다.

3

Usman이 말한 것은 맞지만 신비는 어떻게 될 수 있습니까? 그녀는 AW에서 확장 기능을 사용하고 있어야합니다

, 그것은 그것은 클래스 awall/feed_extensions 호출합니다 <controller_action_predispatch> 에서 관찰자, 그것을 디버깅하려면 이름 _singleton/awall/feed_extensions 과 레지스트리를 생성합니다 이유 유형 Singleton 을 가지고, 우리는 PHP의 디버그 역 추적을 사용할 수 있습니다. public static function registry 아래 Mage.php에 줄을 넣어 :

public static function registry($key) 
{ 
    $str = Varien_Debug::backtrace(true, false); 
    if(!empty($str)){ 
     Mage::log($str); 
    } 
    if (isset(self::$_registry[$key])) { 
     return self::$_registry[$key]; 
    } 
    return null; 
} 

을 정상 상태로 코드를 직접 레지스트리 (_singleton/awall/feed_extensions)가 호출해서는 안 그 때문에 우리가 (관찰자 이외의) 레지스트리를 부르는 역 추적 할 수 있습니다이 사용하므로 한 번 이상 전화 한 적이 없어야합니다. 당신은 지금 당신의 관리자 패널을 열 수 없기 때문에, 당신이 그것을 변경해야

System > Configuration > Developer > Log Settings > Enabled [Yes] 

: 그것은 당신이 관리자 패널에서, 로그 설정에 회전이 있는지 확인 [MagentosRoot]/var/log/system.log

에 결과를 기록합니다

mysql> select * from core_config_data where path like 'dev/log/active'; 
+-----------+---------+----------+----------------+-------+ 
| config_id | scope | scope_id | path   | value | 
+-----------+---------+----------+----------------+-------+ 
|  244 | default |  0 | dev/log/active | 1  | 
+-----------+---------+----------+----------------+-------+ 
1 row in set (0.00 sec) 

값 = 1 당신이 그것을 켜 의미 : 당신이 당신의 로그 설정 여부에 차례가있는 경우 직접 데이터베이스 사용에서이 쿼리를 확인합니다. 당신이 당신의 데이터베이스에 그 값이 없었 , 그냥 삽입 : 데이터베이스의 값이 0 인 경우,

insert into core_config_data (scope, scope_id, path, value) values ('default', 0, 'dev/log/active', 1); 

날 1.

0

로 변경, 단순히 모두 삭제했다 이번에는 AheadWorks와 관련된 파일 ("AW")을 각 폴더의 해당 폴더에 넣어 다시 설치하십시오.

관리자 페이지를 새로 고치기 전에 Mage_Compiler.xml을 찾고 <active>false</active>과 같은 행이 있는지 확인하십시오.

다소 위압적입니다.

그렇지 않으면이 시도 :

앱에 가셔야을/etc/모듈/aw_all.xml에게 변화를 허위 사실

첫째로에 변화 진정한 응용 프로그램은/etc/모듈/aw_blog.xml로 이동 false 다음 admin으로 로그인하면 지금 관리자가 작동합니다.

는 비활성화 시스템 -> 도구 -> 컴파일로 이동합니다.

지금 첫 번째 응용 프로그램을/etc/모듈로 이동/aw_all.xml 사실

다음 확인을 잘못된 응용 프로그램은/etc/모듈/aw_blog.xml 변화에 가서 사실

false로 변경 그것이 작동하는지 아닌지 ..

0

나는이 질문에 늦었지만 어젯밤에 같은 문제가 있었고이 대답이 다른 사람에게 도움이되기를 바랍니다 (이 오류는 저에게 하루 비용이 듭니다). Mage World 확장 기능이있는 Magento 1.9 응용 프로그램을 사용하고 있습니다. 제 로컬 환경에서 지점을 다른 것으로 바꿨지 만 일반적인 Magento 오류 페이지가 계속 나타납니다.

a:5:{i:0;s:70:"Mage registry key "_singleton/onestepcheckout/observer" already exists";i:1;s:1691:"#0 C:\Sites\myintent-shop\app\Mage.php(223): Mage::throwException('Mage registry k...') 
#1 C:\Sites\myintent-shop\app\Mage.php(477): Mage::register('_singleton/ones...', false) 
#2 C:\Sites\myintent-shop\app\code\core\Mage\Core\Model\App.php(1316): Mage::getSingleton('onestepcheckout...') 
#3 C:\Sites\myintent-shop\app\Mage.php(448): Mage_Core_Model_App->dispatchEvent('controller_acti...', Array) 
#4 C:\Sites\myintent-shop\app\code\core\Mage\Core\Controller\Varien\Action.php(339): Mage::dispatchEvent('controller_acti...', Array) 
#5 C:\Sites\myintent-shop\app\code\core\Mage\Cms\Helper\Page.php(113): Mage_Core_Controller_Varien_Action->generateLayoutBlocks() 
#6 C:\Sites\myintent-shop\app\code\core\Mage\Cms\Helper\Page.php(52): Mage_Cms_Helper_Page->_renderPage(Object(Mage_Cms_IndexController), 'home') 
#7 C:\Sites\myintent-shop\app\code\core\Mage\Cms\controllers\IndexController.php(45): Mage_Cms_Helper_Page->renderPage(Object(Mage_Cms_IndexController), 'home') 
#8 C:\Sites\myintent-shop\app\code\core\Mage\Core\Controller\Varien\Action.php(418): Mage_Cms_IndexController->indexAction() 
#9 C:\Sites\myintent-shop\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('index') 
#10 C:\Sites\myintent-shop\app\code\core\Mage\Core\Controller\Varien\Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http)) 
#11 C:\Sites\myintent-shop\app\code\core\Mage\Core\Model\App.php(354): Mage_Core_Controller_Varien_Front->dispatch() 
#12 C:\Sites\myintent-shop\app\Mage.php(684): Mage_Core_Model_App->run(Array) 
#13 C:\Sites\myintent-shop\index.php(87): Mage::run('', 'store') 
#14 {main}";s:3:"url";s:1:"/";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:7:"default";} 

내가 내 캐시 디렉토리를 삭제해야한다고 밝혀 : var에/로그/system.xml을 보면,이를 보았다. 가장 쉬운 방법은 root -> var -> cache로 가서 "cache"폴더 내의 모든 "mage- *"폴더를 삭제하는 것입니다 (참고 : 나는 cdn.cache 파일을 보관했습니다).

관련 문제