Magento - Неустранимая ошибка: класс 'Mage_Http:_Helper'

На всех веб-страницах появляется фатальная ошибка:

Неустранимая ошибка: класс «Mage_Http:_Helper» не найден в /web/htdocs/www.dolcefuoco.com/home/app/Mage.php в строке 521.

Ошибка связана с функцией ниже:

public static function helper($name)
{
    if (strpos($name, '/') === false) {
        $name .= '/data';
    }

    $registryKey = '_helper/' . $name;
    if (!self::registry($registryKey)) {
        $helperClass = self::getConfig()->getHelperClassName($name);
        self::register($registryKey, new $helperClass);
    }
    return self::registry($registryKey);
}

Где строка 521:

self::register($registryKey, new $helperClass);

Под предупреждением журнала:

2012-11-26T22:27:10+00:00 ERR (3): Warning: include(Mage/Http:/Helper.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory  in /web/htdocs/www.dolcefuoco.com/home/lib/Varien/Autoload.php on line 93
2012-11-26T22:27:10+00:00 ERR (3): Warning: include() [<a href='function.include'>function.include</a>]: Failed opening 'Mage/Http:/Helper.php' for inclusion (include_path='/web/htdocs/www.dolcefuoco.com/home/app/code/local:/web/htdocs/www.dolcefuoco.com/home/app/code/community:/web/htdocs/www.dolcefuoco.com/home/app/code/core:/web/htdocs/www.dolcefuoco.com/home/lib:.:/php5/lib/php/')  in /web/htdocs/www.dolcefuoco.com/home/lib/Varien/Autoload.php on line 93

А вот функция autoload.php, которая создает проблему:

 * Register SPL autoload function
 */
static public function register()
{
    spl_autoload_register(array(self::instance(), 'autoload'));
}

/**
 * Load class source code
 *
 * @param string $class
 */
public function autoload($class)
{
    if ($this->_collectClasses) {
        $this->_arrLoadedClasses[self::$_scope][] = $class;
    }
    if ($this->_isIncludePathDefined) {
        $classFile = $class;
    } else {
        $classFile = str_replace(' ', DIRECTORY_SEPARATOR, ucwords(str_replace('_', ' ', $class)));
    }
    $classFile.= '.php';
    //echo $classFile;die();
    return include $classFile;
}

Строка 93:

return include $classFile;

Что я могу сделать, чтобы это исправить? Любое предложение очень ценится, сайт не работает!!


person mayamale    schedule 26.11.2012    source источник
comment
Какие изменения вы вносили?   -  person Joseph at SwiftOtter    schedule 26.11.2012
comment
Я отключил модуль Tag и ошибочно отключил Mage_Admin. Я понял, что отключаю Mage_admin только после нажатия кнопки сохранения. После этого сайт упал. Затем я снова включил его. Но ничего не произошло. я не знаю, повлиял ли этот Mage_admin или нет, но все произошло после того, как я сделал это редактирование.   -  person mayamale    schedule 26.11.2012
comment
Происходит что-то еще. Отключение Mage_Admin не приведет к отключению сайта. И, в зависимости от вашей версии, Mage_Admin даже не отключит вашего администратора. Я думаю, что что-то еще происходит случайно. Скорее всего, есть другой модуль, который вызывает проблемы. Mage_Http:_Helper является неработающей ссылкой на Mage_Core_Helper_Http. Вы что-нибудь устанавливали в последнее время?   -  person Joseph at SwiftOtter    schedule 26.11.2012
comment
Нет, сайт работал отлично. я ничего не устанавливал в последние дни. Я внес некоторые изменения в нижний колонтитул, но после редактирования я провел небольшой тест, и сайт заработал. Я только что заметил на phpmyadmin, что БД превысила максимальный размер, за который мы заплатили. И я просто попросил обновить размер БД. Может ли эта ошибка быть связана с БД или чем-то подобным?   -  person mayamale    schedule 26.11.2012
comment
НЕВОЗМОЖНО ОТКЛЮЧИТЬ МОДУЛЬ ЧЕРЕЗ АДМИНИСТРАТОРА - можно только отключить модуль output (как следует из названия группы). Не уверен, сколько раз это нужно говорить, но, надеюсь, люди примут к сведению.   -  person benmarks    schedule 26.11.2012
comment
Я не думаю, что БД, которой требуется больше места, вызовет проблему. Какие расширения у вас работают? Я смог воспроизвести точную ошибку с помощью следующего кода: var_dump(Mage::helper('http://stackoverflow.com')); Вполне логично, что каким-то образом и по какой-то безумной причине URL-адрес передается в вспомогательную фабричную функцию.   -  person Joseph at SwiftOtter    schedule 26.11.2012
comment
Спасибо JMax за помощь, которую вы оказываете. Я очень новичок в Magento. Менеджер расширений не установлен, как проверить, какие расширения запущены?   -  person mayamale    schedule 26.11.2012
comment
Я также пытаюсь полностью перезаписать папку приложения резервной копией, сохраненной вчера (на случай, если я сделал что-то не так с кодом страницы), но ошибка все еще существует.   -  person mayamale    schedule 26.11.2012
comment
Можете ли вы предоставить еще несколько строк вашего стека вызовов? Код, на который вы указали, используется во всей системе magento. Практически никто не может помочь с предоставленной информацией.   -  person Alan Storm    schedule 26.11.2012
comment
Привет, Алан, я скопировал весь код mage.php и вставил выше. Надеюсь, поможет. Пожалуйста, дайте мне знать, если что-то еще может помочь вам в понимании проблемы.   -  person mayamale    schedule 27.11.2012
comment
К сожалению, это не очень полезно, так как в каждой установке Magento есть этот файл, и все версии очень похожи. Можете ли вы посмотреть в своих журналах ошибок/php, чтобы увидеть, есть ли лучшая трассировка стека. В Magento примерно 2,5 миллиона строк PHP, и метод Mage::helper('') вызывается там много раз.   -  person Joseph at SwiftOtter    schedule 27.11.2012
comment
хорошо, я разместил предупреждение в журнале и функцию, которая создает проблему. Тебе нужно что-то еще?   -  person mayamale    schedule 27.11.2012
comment
Это не поможет. Попробуйте установить ту же версию magento, что и у вас, и сравните с ней свои файлы. Где-то в вашем коде должен быть недопустимый вызов Mage::helper().   -  person Dmytro Zavalkin    schedule 28.11.2012


Ответы (1)


Ваш config.xml ссылается на какие-либо помощники? (любые пользовательские дополнения/изменения, которые были сделаны)

Если это так, путь/настройки могут быть неверными или что-то может отсутствовать, что необходимо.

person JamesD    schedule 29.12.2012