首页 文章

如何修复Magento 1.7 Developer模式

提问于
浏览
1

每当我打开Magento 1.7中的开发人员模式时,我都会收到此警告消息如果有任何其他警告或错误,则会显示该错误但是当没有错误时,此屏幕即将到来 . 一旦我关闭开发者模式,我就可以使用网站了 .

警告:get_class()期望参数1为对象,布尔值在> C:\ xampp \ htdocs \ magento \ app \ code \ core \ Mage \ Core \ Model \ App.php中给出,在第1340行0 [内部函数]: mageCoreErrorHandler(2,'get_class()exp ...','C:\ xampp \ htdocs ...',> 1340,数组)#1 C:\ xampp \ htdocs \ magento \ app \ code \ core \ Mage \ Core \ Model \ App.php(1340):> get_class(false)#2 C:\ xampp \ htdocs \ magento \ app \ code \ core \ Mage \ Core \ Model \ App.php(1317):> Mage_Core_Model_App-> _callObserverMethod(false,'check',Object(Varien_Event_Observer))#3> C:\ xampp \ htdocs \ magento \ app \ Mage.php(447):Mage_Core_Model_App-> dispatchEvent('controller_fron ...',Array)#4 > C:\ xampp \ htdocs \ magento \ app \ code \ core \ Mage \ Core \ Controller \ Varien \ Front.php(147):?> Mage :: dispatchEvent('controller_fron ...',Array)#5> C:\ xampp \ htdocs \ magento \ app \ code \ core \ Mage \ Core \ Model \ App.php(749):?> Mage_Core_Controller_Varien_Front-> init()#6> C:\ xampp \ htdocs \ magento \ app \ code \ core \ Mage \ Core \ Model \ App.php(1094):Mage_Core_Model_App - > _ initFrontController()#7> C:\ xampp \ htdocs \ magento \ app \ code \ core \ Mage \ Core \ Model \ App.php(354):Mage_Core_Model_App-> getFrontController()#8 C:\ xampp \ htdocs \ magento \ app \ Mage.php(683):Mage_Core_Model_App - > run(Array)#9 C:\ xampp \ htdocs \ magento \ index.php(87):Mage :: run('','store')#10

任何帮助或指导我们都会感激 .

1 回答

  • 1

    你有一个已经不存在的观察者;见Mage_Core_Model_App::_callObserverMethod() (link)

    protected function _callObserverMethod($object, $method, $observer)
    {
        if (method_exists($object, $method)) {
            $object->$method($observer);
        } elseif (Mage::getIsDeveloperMode()) {
            Mage::throwException('Method "'.$method.'" is not defined in "'.get_class($object).'"');
        }
        return $this;
    }
    

    从堆栈跟踪的其余部分,可以看到正在观察的事件是 controller_front_init_routers (ref . Mage_Core_Controller_Varien_Front::init() (link)) . 除非Mage_Cms_Controller_Router (link)出现问题,否则问题必须是配置为观察此事件的自定义模块 .

    要查找违规配置,请在app / code中搜索 <controller_front_init_routers> .

    你也可以create a test script which does not invoke the Front Controller并用它来调试:

    <?php
    ini_set('display_errors',true);
    error_reporting(E_ALL | E_STRICT);
    include 'app/Mage.php';
    Mage::setIsDeveloperMode(true);
    Mage::app();
    
    Zend_Debug::dump(
        Mage::getConfig()->getXpath('//controller_front_init_routers//class')
    );
    

    库存产量如下;别的什么是你的麻烦制造者:

    array(1) {
        [0] => object(Mage_Core_Model_Config_Element)#66 (1) {
            [0] => string(26) "Mage_Cms_Controller_Router"
        }
    }
    

相关问题