我在我的网站上安装了omtex扩展程序但是当我尝试访问帐户或尝试注册时会带来致命错误:
在vqmod / vqcache / vq2-system_engine_controller.php第91行中的非对象上调用成员函数modcheck()
以下是代码:
// LINE 80 HERE BELOW
ob_start();
require(VQMod::modCheck(VQMod::modCheck(DIR_TEMPLATE . $this->template)));
$this->output = ob_get_contents();
ob_end_clean();
return $this->output;
} else {
// LINE 91 HERE BELOW
$file_default = $vqmod->modCheck(DIR_DEFAULT_TEMPLATE . $this->template);
if (file_exists($file_default)) {
extract($this->data);
ob_start();
require(VQMod::modCheck(VQMod::modCheck($file_default)));
$this->output = ob_get_contents();
ob_end_clean();
return $this->output;
}
答案 0 :(得分:0)
你在这里静静地叫它:
require(VQMod::modCheck(VQMod::modCheck(DIR_TEMPLATE . $this->template)));
^^^^^^^^^^^^^^^---
和其他各种地方,但作为一种方法:
$file_default = $vqmod->modCheck(DIR_DEFAULT_TEMPLATE . $this->template);
并且在几个地方。是$vqmod
一个对象?你的错误表明它不是。
答案 1 :(得分:0)
最新版本的vQmod
不是基于实例的 - 它是静态的。这种变化发生在一年多以前,因此上面的代码应该升级。只需将$vqmod->modCheck
更改为VQMod::modCheck
即可解决此问题。此外,如果在过期代码之前某处有global $vqmod;
,请将其删除。您还应该检查您的安装,因为在要求中不应该有两次调用VQMod::modCheck
。你有两个XML文件做同样的事情,或者你因为某种原因硬编码modCheck