Почему веб-интерфейс сайта Magento не загружается? - Фатальная ошибка: класс ‘Mage__Helper_Data’ не найден - PullRequest
2 голосов
/ 13 сентября 2011

У меня проблема с внешним интерфейсом сайта magento, он выдает ошибку 500.Внутренний админ абсолютно исправен и функционален, я могу войти без проблем и без потери данных о продукте.

Я закомментировал строку 70 в моем файле index.php -

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

, чтобы увидеть ошибки, и это то, что теперь отображается, когда вы загружаете интерфейссайта - Неустранимая ошибка: класс \ 'Mage__Helper_Data \' не найден в /var/www/vhosts/beta.mydomain.com/httpdocs/countrytoys/app/Mage.php в строке 520

Я считаю, что двойное подчеркивание здесь связано с тем, что модуль отсутствует или что-то в этом роде.

Эта проблема появилась после того, как я обновил все типы кэша в области администратора, но я подозреваю, что проблема была тамзаранее, но обнажил голову после обновления кеша.

До сих пор я пробовал / проверял -

  • удаление содержимого var / cache, var / session

  • Базовый URL в БД верен

  • сделал для всех каталогов 755 разрешений и для всех файлов 644, у меня также естьпопытался сделать index.php 755 и 777 по предложению других форумов.

  • checked htaccess, все вроде нормально.

  • все физические файлы находятся на сервере.

  • system.log, похоже, последовательно указывает настрока 93 в Autoload.php -

    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
    

Другие вещи, которые я недавно вспомнил, включают добавление Google Analytics через администратор, изменение кода для ссылок в верхней частиЗайдите в приложение \ design \ frontend \ default \ blue_toys \ template \ page \ html \ header.phtml и введите некоторые данные PayPal для настройки шлюза оплаты.

подробности установки - версия -1.5.0.1,Тема - пользовательская установленная тема

Может кто-нибудь помочь?спасибо Люк

Ответы [ 2 ]

0 голосов
/ 03 января 2014

У меня была похожая проблема, и этот вопрос появился в результатах Google, поэтому я подумал, что было бы разумно добавить сюда ответ для всех, кто борется с такой же проблемой.С моей проблемой это было связано с пользовательским <source_model>, который я пытался использовать в системе конфигурации Magento.

Я использовал пример кода из 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')
        );
    }
0 голосов
/ 13 сентября 2011

Ваше сообщение об ошибке показывает два подчеркивания между Mage и Helper, где обычно есть только один из них. Для меня это выглядит так, как будто вы потеряли слово между Mage и Helper где-то, так как обычно идентификаторы помощников Мага s / t похожи на Mage_Core_Helper_Data.

Сначала я проверю разделы <helpers> моих файлов /etc/config.xml на предмет неправильных определений.

Кроме этого, я бы, вероятно, попытался получить трассировку отладки в методе Varien_Autoload::autoload.

Я бы искал шаблоны в параметре $class, которые могли бы привести к с / т, например, Mage__Helper_Data, например. случаи, когда $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
    // :

}
...