我在网站上安装了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;
}
您在这里静态调用它:
require(VQMod::modCheck(VQMod::modCheck(DIR_TEMPLATE . $this->template)));
^^^^^^^^^^^^^^^---
以及其他各种地方,但作为一种方法:
$file_default = $vqmod->modCheck(DIR_DEFAULT_TEMPLATE . $this->template);
在几个地方。$vqmod
是对象吗?你的错误表明事实并非如此。
vQmod
的最新版本不是基于实例的,而是静态的。这一变化发生在一年多前,因此上面的代码应该升级。只需将$vqmod->modCheck
更改为VQMod::modCheck
即可解决此问题。此外,如果在过时的代码之前有一个global $vqmod;
,请将其删除。您还应该检查您的安装,因为requires中不应该有两个对VQMod::modCheck
的调用。要么有两个XML文件在做同样的事情,要么出于任何原因对modCheck进行了硬编码