2015-05-25 2 views
0

Я enountering эту ошибку нечасто:Magento: Фатальная ошибка: Вызов функции члена переписывание()

Fatal error: Call to a member function rewrite() on a non-object in /htdocs/public/www/app/code/core/Mage/Core/Controller/Varien/Front.php on line 165

Я видел этот вопрос задал несколько раз, но для меня это происходит так часто и не является постоянной ошибкой.

У меня есть тот же сайт, который работает на локальном хосте, и вообще не сталкивался с этой ошибкой. Это происходит практически на любой странице. Я сбросил разрешения на все до 777 во время тестирования сайта.

Я попытался следующие, чтобы попытаться это исправить:

  1. Перейти к http://www.your-site/downloader и переустановите пакет под названием Lib_Varien
  2. Обычным очистить кэш в var
  3. Права доступа на что-нибудь 777

Любые идеи были бы высоко оценены!

+0

Апачи перезагрузка тоже может помочь –

+0

хороший вызов, будет просить толпу с доступом WHM дать ему перезагрузки, как unforetunately у меня нет его. – BarryWalsh

+0

@scrowler не повезло, спасибо. В соответствии с моим комментарием ниже к ответу - я начинаю думать, что, поскольку я установил сайт в подкаталог другой установки Magento, это может вызвать проблему. Может быть, на промежуточном сайте вместо этого используется каталог var основного сайта? В реальном времени сайт работает 1,6, а промежуточный сайт - 1,9 – BarryWalsh

ответ

2

Per this old Magento Stack Overflow question on the same subject, наиболее вероятной причиной является устаревшей кэш Magento, и/или Magento, не имеющих права на запись в папку var вашей системы, которые могут ввести в заблуждение Magento о том, где он может найти сконфигурированный кэш.

По соображениям, слишком многочисленным и разнообразным для размышлений в одном ответе на переполнение стека, ваша система либо не может найти псевдоним класса core/url_rewrite_request в вашей конфигурации, либо не может создать экземпляр этого класса модели. Подумайте, почему, и вы решите свою проблему.

Update: Я знаю, что вы думаете, что вы проверили разрешения --- но снова проверьте права доступа и убедитесь, что Magento в использовании var, что вы думаете. Некоторые отладки здесь должны помочь

#File: app/code/core/Mage/Core/Model/Config/Options.php 
public function getVarDir() 
{ 
    //$dir = $this->getDataSetDefault('var_dir', $this->getBaseDir().DS.'var'); 
    $dir = isset($this->_data['var_dir']) ? $this->_data['var_dir'] 
     : $this->_data['base_dir'] . DS . self::VAR_DIRECTORY; 
    if (!$this->createDirIfNotExists($dir)) { 
     $dir = $this->getSysTmpDir().DS.'magento'.DS.'var'; 
     if (!$this->createDirIfNotExists($dir)) { 
      throw new Mage_Core_Exception('Unable to find writable var_dir'); 
     } 
    } 
    return $dir; 
} 
+0

. С уважением, каталог var можно записать и файлы существуют, которые содержат псевдоним класса как config, так и php с классом. Я начинаю думать, что, поскольку я установил сайт в подкаталог другой установки Magento, это может вызвать проблему. Может быть, на промежуточном сайте вместо этого используется каталог var основного сайта? Живой сайт работает 1,6, а промежуточный сайт - 1,9 – BarryWalsh

+0

Обновленный вопрос с некоторыми дополнительными советами по отладке. –

+0

Приветствия Алана! Как получить доступ к результатам этого метода? – BarryWalsh

Смежные вопросы