OpenCart出现错误:Call to a member function isLogged() on a non-object

原本想修改OpenCart安装目录以及admin目录下的config.php,没想到却出现致命错误“Fatal error: Call to a member function isLogged() on a non-object in xxx/header.php”。原本以为是修改文档时编码改变而导致的问题,但是即使用原文件的基础上修改好再上传依然不能解决问题,官方论坛也没找到解决办法。最后通过本地测试,找到了问题的所在。

OpenCart安装目录下的config.php和admin的config.php是不同的。为什么会有两个配置文件呢?OpenCart的前台和后台是完全分开的,这样便于后台地址以增强网站的安全性,因此分开配置。原来是偶一时糊涂,将admin目录下的config.php误传到了安装目录下,导致配置错误。

安装目录下的config.php内容如下:

<?php
// HTTP
define('HTTP_SERVER', 'http://yourdomain/');

// HTTPS
define('HTTPS_SERVER', 'http://yourdomain/');

// DIR
define('DIR_APPLICATION', '绝对安装路径/catalog/');
define('DIR_SYSTEM', '绝对安装路径/system/');
define('DIR_DATABASE', '绝对安装路径/system/database/');
define('DIR_LANGUAGE', '绝对安装路径/catalog/language/');
define('DIR_TEMPLATE', '绝对安装路径/catalog/view/theme/');
define('DIR_CONFIG', '绝对安装路径/system/config/');
define('DIR_IMAGE', '绝对安装路径/image/');
define('DIR_CACHE', '绝对安装路径/system/cache/');
define('DIR_DOWNLOAD', '绝对安装路径/download/');
define('DIR_LOGS', '绝对安装路径/system/logs/');

// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'xxx');
define('DB_USERNAME', 'xxx');
define('DB_PASSWORD', 'xxx');
define('DB_DATABASE', 'xxx');
define('DB_PREFIX', 'oc_');
?>

admin目录下的config.php内容如下:

<?php
// HTTP
define('HTTP_SERVER', 'http://yourdomain/admin/');
define('HTTP_CATALOG', 'http://yourdomain/');   //此处修改

// HTTPS
define('HTTPS_SERVER', 'http://yourdomain/admin/');
define('HTTPS_CATALOG', 'http://yourdomain/');   //此处修改

// DIR
define('DIR_APPLICATION', '绝对安装路径/admin/');   //此处修改
define('DIR_SYSTEM', '绝对安装路径/system/');
define('DIR_DATABASE', '绝对安装路径/system/database/');
define('DIR_LANGUAGE', '绝对安装路径/admin/language/');   //此处修改
define('DIR_TEMPLATE', '绝对安装路径/admin/view/template/');   //此处修改
define('DIR_CONFIG', '绝对安装路径/system/config/');
define('DIR_IMAGE', '绝对安装路径/image/');
define('DIR_CACHE', '绝对安装路径/system/cache/');
define('DIR_DOWNLOAD', '绝对安装路径/download/');
define('DIR_LOGS', '绝对安装路径/system/logs/');
define('DIR_CATALOG', '绝对安装路径/catalog/');   //此处修改

// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'xxx');
define('DB_USERNAME', 'xxx');
define('DB_PASSWORD', 'xxx');
define('DB_DATABASE', 'xxx');
define('DB_PREFIX', 'oc_');
?>

注释“此处修改”的代码为两者不同的部分,注意区分。

本文采用CC BY-NC-ND协议进行许可,传播时请保留链接:http://huangzhiqun.com/skill/opencart-islogged-header.html

3,098 次阅读
  1. 目前还没有评论

发表评论

五 × 一 =

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。

疑惑 调皮 伤心 抠鼻 惊讶 微笑 脸红 坏笑 惊讶 发呆 撇嘴 酷 阴险 咒骂 愤怒 白眼 鼓掌 得意 汗 打呵欠 大哭 憨笑

评论