如何修复Magento 1.7 Developer模式

时间:2013-02-21 23:21:14

标签: magento magento-1.7

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

  

警告:get_class()期望参数1为对象,布局在1340行> C:\ xampp \ htdocs \ magento \ app \ code \ core \ Mage \ Core \ Model \ App.php中给出

     

0 [内部函数]:mageCoreErrorHandler(2,'get_class()exp ...','C:\ xampp \ htdocs ...',> 1340,数组)#1C:\ 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 ...',数组)#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(数组)#9 C:\ xampp \ htdocs \ magento \ index.php(87):Mage :: run( '','store')#10 {main}

我们对任何帮助或指导表示赞赏。

1 个答案:

答案 0 :(得分: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(参考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"
    }
}