为什么 Magento 网站的前端无法加载? - 致命错误:找不到类“Mage__Helper_Data”

问题描述 投票:0回答:2

我的 magento 网站前端出现问题,它抛出 500 错误。后端管理绝对良好且功能齐全,我可以毫无问题地登录,并且不会丢失产品数据。

我在我的index.php文件中取消了第70行的注释-

#ini_set(\'display_errors\', 1);

为了查看错误,这就是加载站点前端时显示的内容 - 致命错误:在 /var/www/vhosts/beta.mydomain.com 中找不到类 \'Mage__Helper_Data\' /httpdocs/countrytoys/app/Mage.php 第 520 行

我认为这里的双下划线是与缺少模块或其他东西有关..

这个问题是在我刷新管理区域中的所有缓存类型后发现的,但我怀疑问题之前就存在,但在缓存刷新后才露出头来。

到目前为止我已经尝试/检查过 -

  • 删除var/cache、var/session的内容

  • 数据库中的基本 URL 是正确的

  • 将所有目录的权限设置为755,将所有文件的权限设置为644,我还根据其他论坛的建议尝试将index.php设置为755和777。

  • 检查了htaccess,一切似乎都很好。

  • 物理文件都在服务器上。

  • system.log 似乎始终指向 Autoload.php 中的第 93 行 -

    2011-09-12T15:18:52+00:00 ERR (3): Warning: include() [<a href=\'function.include\'>function.include</a>]: Failed opening \'Mage//Helper/Data.php\' for inclusion (include_path=\'/var/www/vhosts/beta.mydomain.com/httpdocs/countrytoys/app/code/local:/var/www/vhosts/beta.mydomain.com/httpdocs/countrytoys/app/code/community:/var/www/vhosts/beta.mydomain.com/httpdocs/countrytoys/app/code/core:/var/www/vhosts/beta.mydomain.com/httpdocs/countrytoys/lib:.:\')  in /var/www/vhosts/beta.mydomain.com/httpdocs/countrytoys/lib/Varien/Autoload.php on line 93
    

我能想到的最近做的其他事情包括通过管理添加谷歌分析,更改 app\design rontend\default lue_toys emplate\page\html\header.phtml 中网站顶部链接的代码并输入一些贝宝详细信息,以便设置支付网关。

安装详情- 版本-1.5.0.1, 主题 - 自定义安装主题

有人可以帮忙吗? 谢谢, 卢克

php magento fatal-error
2个回答
0
投票

您的错误消息在 Mage

Helper
之间显示
两个
下划线,通常只有 一个。对我来说,你好像在
Mage
Helper
之间丢失了一个单词,因为通常法师助手标识符都是像
Mage_Core_Helper_Data
这样的。

我会首先检查我的

<helpers>
文件的
/etc/config.xml
部分是否有错误的定义。

除此之外,我可能会尝试在

Varien_Autoload::autoload
方法中获取调试跟踪。

我会寻找参数

$class
中的模式,这可能会导致像
Mage__Helper_Data
这样的 s/t,例如
$class
包含空格或双下划线的情况:

public function autoload($class)
{

    try {
        if (strpos($class, ' ') !== false || strpos($class, '__') !== false) {
            throw new Exception('fishy');
        }
    }
    catch (Exception $e) {
        var_dump($class, $e->getTraceAsString());
        die('stop');
    }

    // original method code starts here
    // :

}

0
投票

我有一个类似的问题,这个问题出现在谷歌结果中,所以我认为为其他遇到同样问题的人添加一个答案是明智的。对于我的问题,它与我尝试在 Magento 配置系统中使用的自定义

<source_model>
有关。

我使用了 Magento 的示例代码,如下所示:

public function toOptionArray()
    {
        return array(
            array('value' => 0, 'label' => Mage::helper()->__('First item')),
            array('value' => 1, 'label' => Mage::helper()->__('Second item')),
            array('value' => 2, 'label' => Mage::helper()->__('third item'))
        );
    }

错误来自

Mage::helper()
位 - 没有加载帮助程序。您可以将其更改为此,或加载特定的帮助程序:

public function toOptionArray()
    {
        return array(
            array('value' => 0, 'label' => 'First item'),
            array('value' => 1, 'label' => 'Second item'),
            array('value' => 2, 'label' => 'third item')
        );
    }
© www.soinside.com 2019 - 2024. All rights reserved.