如何在magento 1.7中打开开发人员模式?

时间:2012-10-05 20:19:50

标签: debugging magento

我通过this教程,我的问题在于我没有得到任何关于“全局配置和创建模型”部分的函数错误(当分配给变量{{1}时) },而模型尚不存在)。

在某些时候,我在/index.php中找到了一个if语句,其中调用了以下方法: Mage::getModel('weblog/blogpost')为了测试它,我把它放在if语句之外(我知道这不是一个好习惯)。

结果是我收到了这条警告信息:

Mage::setIsDeveloperMode(true);

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

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

谢谢!

编辑:当我继续学习本教程时,我发现我没有从核心课程中得到任何反馈。例如:在尝试从资源定义不完整的模型中获取数据时,我应该得到“无法检索实体配置:weblog / blogpost”。好吧,我没有。 :|

3 个答案:

答案 0 :(得分:8)

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

中的第510行找出哪一个
/home/dowebro/public_html/magento/lib/Varien/Simplexml/Config.php

和var转储传递给loadFile的变量。

基于错误消息

XML declaration allowed only at the start of the document

我的猜测是你的config.xml XML prolog在它之前有一些空格

[    ]<?xml version=...

或者您不小心在XML文件中的某处添加了<?

答案 1 :(得分:0)

我不知道为什么我的帖子被删除了。 Mods我甚至都不能给你留言。

我按照与@Michael相同的教程进行操作并遇到了同样的问题。

解决方案将转到应用程序index.php的根目录,并从下面的语句前面删除哈希

#ini_set('display_errors', 1)

ini_set('display_errors', 1)

答案 2 :(得分:0)

我有这个问题,我可以解决调试文件app \ code \ core \ Mage \ Core \ Model \ Config.php

在此类中搜索metod loadModulesConfiguration,并确保您拥有以下代码:

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);
    }
 }

然后检查日志,您将获得问题文件的名称