2012-10-05 56 views
4

我通过this教程,我的问题在于,我没有在“全局配置和创建模型”部分获得任何function.include错误(当分配给变量Mage::getModel('weblog/blogpost'),而模型没有还存在)。如何打开magento 1.7中的开发人员模式?

在某些时候,我的index.php发现一个if语句中被称为下面的方法: Mage::setIsDeveloperMode(true);为了测试它,我把它放在if语句(我知道是不是好的做法)之外。

的结果是,我得到这个警告消息:

Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : XML declaration allowed only at the start of the document in /home/dowebro/public_html/magento/lib/Varien/Simplexml/Config.php on line 510 

#0 [internal function]: mageCoreErrorHandler(2, 'simplexml_load_...', '/home/dowebro/p...', 510, Array) 
#1 /home/dowebro/public_html/magento/lib/Varien/Simplexml/Config.php(510): simplexml_load_string(' loadString(' loadFile('/home/dowebro/p...') 
#4 /home/dowebro/public_html/magento/app/code/core/Mage/Core/Model/Config.php(318): Mage_Core_Model_Config->loadModulesConfiguration(Array, Object(Mage_Core_Model_Config)) 
#5 /home/dowebro/public_html/magento/app/code/core/Mage/Core/Model/App.php(414): Mage_Core_Model_Config->loadModules() 
#6 /home/dowebro/public_html/magento/app/code/core/Mage/Core/Model/App.php(343): Mage_Core_Model_App->_initModules() 
#7 /home/dowebro/public_html/magento/app/Mage.php(683): Mage_Core_Model_App->run(Array) 
#8 /home/dowebro/public_html/magento/index.php(91): Mage::run('', 'store') 
#9 {main} 

,但仍然没有错误,我期望的那样。

那么,我该如何摆脱这个警告信息,但更重要的是,我怎样才能看到发展模式中的错误?

谢谢!

编辑:虽然我继续本教程,我看到我没有从核心类获得任何类型的反馈。例如:在尝试从资源定义不完整的模型中获取数据时,我应该得到“无法检索实体配置:weblog/blogpost”。那么,我不知道。 :|

回答

8

开发者模式是PHP和Magento的一种use strict。它迫使你修复的所有内容。如果看起来像simplexml_load_string函数不喜欢系统中的某个XML配置文件。您可以通过在

/home/dowebro/public_html/magento/lib/Varien/Simplexml/Config.php 

和VAR到线510倾销多数民众赞成传递给loadFile变量找出哪一个。

基于错误信息

XML declaration allowed only at the start of the document 

我的猜测是你​​3210 XML Prolog有一些空白它

[ ]<?xml version=... 

,或者你不小心在XML文件中加入了<?在什么地方。

+0

谢谢你的答案!我去了Config.php,但那个字符串是一个很大的字符串,我不知道该从哪里去。关于config.xml,我已经仔细检查过它并且没问题。 – Michael

+0

当出现问题时,我仍然真的想从法师方法中获得一些反馈。我不能用这种方式进行调试.. – Michael

+0

Alan,我再次拿走了所有的模块,而且确实有一个config.xml,它的第一个标签在它前面有一个空格!伟大的“猜测”!谢谢! – Michael

0

我不知道为什么我的帖子被删除。 Mods我甚至不能回复你。

我跟@ @迈克尔所做的相同的教程,遇到了同样的问题。

该解决方案将应用程序的index.php的根源,并从以下声明

#ini_set('display_errors', 1) 

ini_set('display_errors', 1) 
0

前我有这样的问题,请删除散列,我可以解决调试文件应用程序\代码\核心\法师\核心\型号\ Config中。PHP

在这个类搜索梅托德loadModulesConfiguration和IM确保您有下面的代码:

foreach ($fileName as $configFile) { 
    $configFile = $this->getModuleDir('etc', $modName).DS.$configFile; 
    if ($mergeModel->loadFile($configFile)) { 
     $mergeToObject->extend($mergeModel, true); 
    } 
} 

这加块尝试捕捉这样的:

foreach ($fileName as $configFile) { 
    try { 
     $configFile = $this->getModuleDir('etc', $modName).DS.$configFile; 
     if ($mergeModel->loadFile($configFile)) { 
      $mergeToObject->extend($mergeModel, true); 
     } 
    } catch(Exception $e) { 
     Mage::log($configFile); 
    } 
} 

再检查日志和你将有问题的文件的名称

相关问题