Php Magento showConfig模块不工作

Php Magento showConfig模块不工作,php,xml,magento,Php,Xml,Magento,我从向导开始学习magento。所以我用它们的名字创建了一个模块。但当我尝试时,它显示以下错误 XML解析错误:XML或文本声明不在实体的开头 地点:http://works.dev/magento/?showConfig=true 第1行第2列: -^ (works.dev是我的本地主机域。magento路径工作正常。) 这是我的配置文件 app/code/local/Magentotutorial/Configviewer/etc/config.xml <?xml version="

我从向导开始学习magento。所以我用它们的名字创建了一个模块。但当我尝试时,它显示以下错误

XML解析错误:XML或文本声明不在实体的开头
地点:http://works.dev/magento/?showConfig=true
第1行第2列:
-^
(works.dev是我的本地主机域。magento路径工作正常。)

这是我的配置文件

app/code/local/Magentotutorial/Configviewer/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Magentotutorial_Configviewer>
            <version>0.1.0</version>
        </Magentotutorial_Configviewer>
    </modules>
    <global>
        <events>
            <controller_front_init_routers>
                <observers>
                    <Magentotutorial_configviewer_model_observer>
                        <type>singleton</type>
                        <class>Magentotutorial_Configviewer_Model_Observer</class>
                        <method>checkForConfigRequest</method>
                    </Magentotutorial_configviewer_model_observer>
                </observers>
            </controller_front_init_routers>
        </events>
    </global>
</config>
<global>
    <models>
        <configviewer>
            <class>Magentotutorial_Configviewer_Model</class>
        </configviewer>
        </models>
        <events>
            <controller_front_init_routers>
                <observers>
                    <Magentotutorial_configviewer_model_observer>
                        <type>singleton</type>
                        <class>configviewer/observer</class>
                        <method>checkForConfigRequest</method>
                    </Magentotutorial_configviewer_model_observer>
                </observers>
            </controller_front_init_routers>
        </events>
    </global>

0.1.0
独生子女
Magentotutorial\u Configviewer\u Model\u Observer
checkForConfigRequest
app/etc/modules/Magentotutorial\u Configviewer.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Magentotutorial_Configviewer>
            <active>true</active>
            <codePool>local</codePool>
        </Magentotutorial_Configviewer>
    </modules>
</config>

真的
地方的
app/code/local/Magentotutorial/Configviewer/Model/Observer.php

 <?php
    class Magentotutorial_Configviewer_Model_Observer {
        const FLAG_SHOW_CONFIG = 'showConfig';
        const FLAG_SHOW_CONFIG_FORMAT = 'showConfigFormat';

        private $request;

        public function checkForConfigRequest($observer) {
            $this->request = $observer->getEvent()->getData('front')->getRequest();
            if($this->request->{self::FLAG_SHOW_CONFIG} === 'true'){
                $this->setHeader();
                $this->outputConfig(); 
            }
        }

        private function setHeader() {
            $format = isset($this->request->{self::FLAG_SHOW_CONFIG_FORMAT}) ?
            $this->request->{self::FLAG_SHOW_CONFIG_FORMAT} : 'xml';

            switch($format){
                case 'text':
                    header("Content-Type: text/plain");
                    break;
                default:
                    header("Content-Type: text/xml");
            }
        }

        private function outputConfig() {
            die(Mage::app()->getConfig()->getNode()->asXML());
        }
    } 
getConfig()->getNode()->asXML());
}
} 

我清除了缓存并检查了日志。我无法从这些中发现问题

Ausuraya,你能更改config.xml吗

<?xml version="1.0"?>
<config>
    <modules>
        <Magentotutorial_Configviewer>
            <version>0.1.0</version>
        </Magentotutorial_Configviewer>
    </modules>
    <global>
        <events>
            <controller_front_init_routers>
                <observers>
                    <Magentotutorial_configviewer_model_observer>
                        <type>singleton</type>
                        <class>Magentotutorial_Configviewer_Model_Observer</class>
                        <method>checkForConfigRequest</method>
                    </Magentotutorial_configviewer_model_observer>
                </observers>
            </controller_front_init_routers>
        </events>
    </global>
</config>
<global>
    <models>
        <configviewer>
            <class>Magentotutorial_Configviewer_Model</class>
        </configviewer>
        </models>
        <events>
            <controller_front_init_routers>
                <observers>
                    <Magentotutorial_configviewer_model_observer>
                        <type>singleton</type>
                        <class>configviewer/observer</class>
                        <method>checkForConfigRequest</method>
                    </Magentotutorial_configviewer_model_observer>
                </observers>
            </controller_front_init_routers>
        </events>
    </global>

Magentotutorial\u配置查看器\u模型
独生子女
configviewer/观察者
checkForConfigRequest

根据@Jürgen Thelen的说法,这是空间问题。在app/code/local/Magentotutorial/Configviewer/etc/config.xml中删除HI前的空格后,它就工作了。任何空格都不应该是它们的before xml标记。第1行第1列的字符一定有错误,由于错误消息指出
在声明之前可能有很多空白。我搜索已经尝试删除
前面的空白