Opencart的致命错误:调用一个成员函数的get()一个非对象(Opencart Fatal e

2019-09-23 13:14发布

试图从本地主机到新的服务器移动。 新的安装工作得很好,没有任何问题。 当我上传我的文件mydomain.com/admin来了一个白色屏幕和mydomain.com产生这个错误:

致命错误:调用一个成员函数的get()一个非对象在/home4/pawpostc/public_html/index.php上线103。

所以我看了看的index.php线103:

if ($config->get('config_error_display')) {
        echo '<b>' . $error . '</b>: ' . $errstr . ' in <b>' . $errfile . '</b> on     line <b>' . $errline . '</b>';
    }

好像有一个与我的配置文件有问题。 于是我去了,看了一下他们。 我已经在他们几次,但不能发现其中的错误,可能失去了一些东西,所以这里的配置文件。

config.php文件(在我的根WWW文件夹。):

<?php
// HTTP
define('HTTP_SERVER', 'http://www.pawpost.com.au/');
define('HTTP_IMAGE', 'http://www.pawpost.com.au/image/');
define('HTTP_ADMIN', 'http://www.pawpost.com.au/admin/');

// HTTPS
define('HTTPS_SERVER', 'http://www.pawpost.com.au/');
define('HTTPS_IMAGE', 'http://www.pawpost.com.au/image/');

// DIR
define('DIR_APPLICATION', '/home4/pawpostc/public_html/catalog/');
define('DIR_SYSTEM', '/home4/pawpostc/public_html/system/');
define('DIR_DATABASE', '/home4/pawpostc/public_html/system/database/');
define('DIR_LANGUAGE', '/home4/pawpostc/public_html/catalog/language/');   
define('DIR_TEMPLATE', '/home4/pawpostc/public_html/catalog/view/theme/');
define('DIR_CONFIG', '/home4/pawpostc/public_html/system/config/');
define('DIR_IMAGE', '/home4/pawpostc/public_html/image/');
define('DIR_CACHE', '/home4/pawpostc/public_html/system/cache/');
define('DIR_DOWNLOAD', '/home4/pawpostc/public_html/download/');
define('DIR_LOGS', '/home4/pawpostc/public_html/system/logs/');

// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'my user name');
define('DB_PASSWORD', 'my password');
define('DB_DATABASE', 'my database');
define('DB_PREFIX', 'oc_');
?>

管理员/ config.php文件:

<?php
// HTTP
define('HTTP_SERVER', 'http://www.pawpost.com.au/admin/'); 
define('HTTP_CATALOG', 'http://www.pawpost.com.au/');
define('HTTP_IMAGE', 'http://www.pawpost.com.au/image/');

// HTTPS
define('HTTPS_SERVER', 'http://www.pawpost.com.au/admin/');
define('HTTPS_CATALOG', 'http://www.pawpost.com.au/');
define('HTTPS_IMAGE', 'http://www.pawpost.com.au/image/');

// DIR
define('DIR_APPLICATION', '/home4/pawpostc/public_html/admin/');
define('DIR_SYSTEM', '/home4/pawpostc/public_html/system/');
define('DIR_DATABASE', '/home4/pawpostc/public_html/system/database/');
define('DIR_LANGUAGE', '/home4/pawpostc/public_html/admin/language/');
define('DIR_TEMPLATE', '/home4/pawpostc/public_html/admin/view/template/');
define('DIR_CONFIG', '/home4/pawpostc/public_html/system/config/');
define('DIR_IMAGE', '/home4/pawpostc/public_html/image/');
define('DIR_CACHE', '/home4/pawpostc/public_html/system/cache/');
define('DIR_DOWNLOAD', '/home4/pawpostc/public_html/download/');
define('DIR_LOGS', '/home4/pawpostc/public_html/system/logs/');
define('DIR_CATALOG', '/home4/pawpostc/public_html/catalog/');

// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'my user name');
define('DB_PASSWORD', 'my password');
define('DB_DATABASE', 'my database');
define('DB_PREFIX', 'oc_');
?>

任何帮助,将不胜感激。

Answer 1:

我用Opencart的并安装vqmod。 突然我有同样的错误之一。

这解决了我的问题:在系统/库/ session.php文件替换为起始会话:

session_save_path(realpath(dirname($_SERVER['DOCUMENT_ROOT']) . '/../tmp'));


Answer 2:

最有可能的问题是,一个或一个以上的库文件都是从上传腐败。 重新上传您的system/library/从当地的一个文件夹。 你的配置文件看起来很好,误差不引用的配置问题。 什么是你的线103 index.php文件吗?



Answer 3:

请交叉检查您已设置我遇到这个错误已经来了所有的权限和解决了,这是由于文件权限问题



Answer 4:

我在我的网站迁移到新的VPS环境后,同样的问题挣扎。 我想它必须是与改变的文档的根路径或我店的权限,拿出大量的头发试图找到问题的核心。

我终于意识到,我对我的PHP会话的数据存储库的权限不正确! 在我的情况下,位于/ var / lib中/ PHP /会议的文件夹/被拥有阿帕奇(自然),但我已经改变了Apache的为不同的用户身份运行,因此它可以不再写入会话存储。

在这种情况下,错误消息是神秘的(至少可以这样说!),并没有给出线索,这个问题可能只是缺乏写入权限的!

哦,我们应该知道,现在有90%的UNIX问题降到烫发!



Answer 5:

(:vqmod / .... php目录)我在服务器上传文件。

只要改变vqmod文件权限。 我设置777,并且解决它。



Answer 6:

从您收到的错误,它看起来像$config变量没有得到设置。 的$config变量被设定在使用线路35 Config ,是在位于类system/library/config.php

我认为,如果你弄清楚为什么这个类是没有得到实例化,您就可以解决这个问题。 这可能是两件事情:

  • system/library/config.php文件可能没有被上传到新的服务器
  • 正如在以前的答案中提到,有可能是一个权限问题。 检查的权限system/library/config.php ,并确保正确的用户拥有所有权。
  • 或者,它可能是一个完全无关的问题。


Answer 7:

该错误是由于在缓存文件夹设置权限。 该文件的权限设置,为755和555套你回家和干燥。



Answer 8:

我遇到过同样的问题。 我改变vqmod权限777我不知道这个问题解决了,但我检查了我的网站不增加WWW。 域之前,和它的工作。 如果我检查除去警告http://daytodaystore.com 。 如果我检查http://www.daytodaystore.com ,该警告是存在的。



Answer 9:

我有这个问题,当我迁移我的服务器从2G到4GH上Godaddy的。 跨越这个论坛来了,发现问题是与session.php文件的话,我猜“TMP”的文件夹不见了。 所以,我创建了一个只有一步HTML文件夹的上面。 并赋予它一个777周的访问。 问题是固定的,之后我的网站看起来不错。



文章来源: Opencart Fatal error: Call to a member function get() on a non-object