2012-10-05 110 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); 
    } 
} 

再檢查日誌和你將有問題的文件的名稱

相關問題