10

试图从本地主机移动到新服务器。全新安装工作正常,没有问题。当我上传文件时 mydomain.com/admin 出现白屏,mydomain.com 产生此错误:

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

所以我看了一下 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_');
?>

对此的任何帮助将不胜感激。

4

9 回答 9

3

我正在使用 opencart 并安装了 vqmod。突然之间,我遇到了同样的错误之一。

这解决了我的问题:在 system/library/session.php 中将启动会话替换为:

session_save_path(realpath(dirname($_SERVER['DOCUMENT_ROOT']) . '/../tmp'));
于 2013-03-13T18:41:18.860 回答
0

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

只需更改 vqmod 文件权限。我设置了 777 并解决了它。

于 2015-03-23T14:14:36.420 回答
0

将我的网站迁移到新的 VPS 环境后,我遇到了同样的问题。我认为它必须与更改的文档根路径或我的商店的权限有关,并拔出很多头发试图找到问题的核心。

我终于意识到我对 PHP 会话数据存储的权限不正确!就我而言,/var/lib/php/session/ 处的文件夹(自然)归 apache 所有,但我已将 apache 更改为以不同的用户身份运行,因此它无法再写入会话存储。

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

哦,好吧,我们现在应该知道 90% 的 unix 问题都归结为 perms!

于 2014-06-19T05:56:34.510 回答
0

最可能的问题是您的一个或多个库文件因上传而损坏。从本地文件夹重新上传您的system/library/文件夹。您的配置文件看起来不错,并且错误未引用配置问题。您index.php文件中的第 103 行是什么?

于 2012-10-05T01:22:58.957 回答
0

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

于 2012-10-30T10:27:08.930 回答
0

该错误是由于在缓存文件夹上设置了权限。将其设置为 755,将文件设置为 555,让您回家干爽。

于 2017-12-13T13:53:26.950 回答
0

从您收到的错误来看,该变量似乎$config未设置。使用位于的类在第$config35 行设置变量Configsystem/library/config.php

我想如果你弄清楚为什么类没有被实例化,你就可以解决这个问题。这可能是几件事:

  • system/library/config.php文件可能尚未上传到新服务器
  • 如前面的答案所述,可能存在权限问题。检查权限system/library/config.php并确保正确的用户拥有所有权。
  • 或者这可能是一个完全不相关的问题。
于 2015-12-02T22:03:16.653 回答
-1

我遇到过同样的问题。我将 vqmod 权限更改为 777。我不确定这是否解决了问题,但我检查了我的网站,但没有添加 www。在域之前,它起作用了。如果我检查http://daytodaystore.com ,警告就会被删除。如果我检查http://www.daytodaystore.com,就会出现警告。

于 2015-08-12T00:47:05.360 回答
-3

当我在 Godaddy 上将我的服务器从 2G 迁移到 4GH 时,我遇到了这个问题。来到这个论坛,发现问题出在 session.php 然后,我猜 'tmp' 文件夹丢失了。因此,我在 html 文件夹上方仅一步创建了一个。并给它一个 777 访问权限。问题已解决,之后我的网站看起来很棒。

于 2013-05-25T07:47:45.217 回答