我很少遇到这个错误:
致命错误:在非对象中调用成员函数rewrite() /htdocs/public/www/app/code/core/Mage/Core/Controller/Varien/Front.php 在第165行
我已经看过几次问题,但对我而言,它经常发生并且不是一个常数错误。
我在localhost上运行完全相同的站点,并没有遇到任何错误。它发生在几乎任何页面上。我在测试网站时将所有权限重置为777
。
我已尝试以下方法尝试修复它:
http://www.your-site/downloader
并重新安装名为Lib_Varien
var
777
任何想法都将不胜感激!
答案 0 :(得分:2)
每this old Magento Stack Overflow question on the same subject,最可能的原因是陈旧的Magento缓存,和/或 Magento没有对您系统的var
文件夹的写入权限,这可能会混淆Magento到哪里可以找到配置的缓存。
由于在单个Stack Overflow答案中推测的原因太多而且多种多样,您的系统要么在配置中找不到类别core/url_rewrite_request
,要么无法实例化该模型类。弄清楚原因,你将解决你的问题。
更新:我知道您认为您已经检查了权限---但是再次检查权限,并使用您认为的var
检查Magento是否正常。这里的一些调试应该有所帮助
#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;
}