Jump to content
Sign in to follow this  
Ariel

Fatal error: Class 'Config' not found in \system\framework.php on line 6

Recommended Posts

Добрый день

Пробую перенести сайт на другой хост. Выдает ошибку при переносе

Fatal error: Class 'Config' not found in \system\framework.php on line 6

 

В framework.php ругается на строку:

// Config
$config = new Config();
$config->load('default');
$config->load($application_config);
$registry->set('config', $config);

 

Класс registry объявлен, файлы config.php  в папке system/library есть 

 

В чём может быть проблема? При переносе, файлы были полностью перенесены

Share this post


Link to post
Share on other sites

config.php

Share this post


Link to post
Share on other sites
13 минут назад, nikifalex сказал:

config.php

В system/library/config.php прописано:

<?php
class Config {
    private $data = array();

    public function get($key) {
        return (isset($this->data[$key]) ? $this->data[$key] : null);
    }

    public function set($key, $value) {
        $this->data[$key] = $value;
    }

    public function has($key) {
        return isset($this->data[$key]);
    }

    public function load($filename) {
        $file = DIR_CONFIG . $filename . '.php';

        if (file_exists($file)) {
            $_ = array();

            require($file);

            $this->data = array_merge($this->data, $_);
        } else {
            trigger_error('Error: Could not load config ' . $filename . '!');
            exit();
        }
    }

Share this post


Link to post
Share on other sites

в корне

Share this post


Link to post
Share on other sites
17 минут назад, nikifalex сказал:

в корне

В корневом конфиге прописаны пути:

// HTTP
define('HTTP_SERVER', 'сайт');

// HTTPS
define('HTTPS_SERVER', 'сайт');

 

// DIR
define('DIR_APPLICATION', '/catalog/');
define('DIR_SYSTEM', '/system/');
define('DIR_IMAGE', '/image/');
define('DIR_LANGUAGE', '/catalog/language/');
define('DIR_TEMPLATE', '/catalog/view/theme/');
define('DIR_CONFIG', '/system/config/');
define('DIR_CACHE', '/system/storage/cache/');
define('DIR_DOWNLOAD', '/system/storage/download/');
define('DIR_LOGS', '/system/storage/logs/');
define('DIR_MODIFICATION', '/system/storage/modification/');
define('DIR_UPLOAD', '/system/storage/upload/');

// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_DATABASE', 'база');
define('DB_PORT', '3306');
define('DB_PREFIX', 'преф');

 

Пути такие, т.к. пытаюсь локально открыть сайт, на openserver

Edited by Ariel

Share this post


Link to post
Share on other sites

зачем вы константы в кавычках сделали?

Share this post


Link to post
Share on other sites
23 минуты назад, nikifalex сказал:

зачем вы константы в кавычках сделали?

Показалось, так удобнее

Перевела в двойные кавычки, но ситуация не поменялась

Edited by Ariel

Share this post


Link to post
Share on other sites

1) поставьте тройные кавычки.

2) поставьте кавычку и запятую.

3) поставьте восклицательный знак, а то может опенкарт плохо видит.

4) поставьте три восклицательных знака, а то может он еще и плохо слышит.

5) уберите всю эту самодеятельность с кавычками.

 

Share this post


Link to post
Share on other sites

пути в конфиге неверно указаны

 

59 минут назад, Ariel сказал:

Пути такие, т.к. пытаюсь локально открыть сайт, на openserver

вместо

define('DIR_APPLICATION', '/catalog/');

 

должно быть что-то вида

define('DIR_APPLICATION', 'M:/OpenServer/domains/os2302.ne/catalog/');

т.е. полный путь директории с сайтом

Share this post


Link to post
Share on other sites
11 минут назад, nikifalex сказал:

1) поставьте тройные кавычки.

2) поставьте кавычку и запятую.

3) поставьте восклицательный знак, а то может опенкарт плохо видит.

4) поставьте три восклицательных знака, а то может он еще и плохо слышит.

5) уберите всю эту самодеятельность с кавычками.

 

Попробовала, но есть нюанс:

В index.php имеется запись:

// Install
if (!defined("DIR_APPLICATION")) {
    header('Location: install/index.php');
    exit;
}

 

И если я меняю кавычки в config.php, то происходит зацикливание /install.

Если убрать ! из install, и добавить в config, то остается ошибка в определением класса config

Если убрать тройные_кавычки/воскл.знак и прочее из install и config, то происходит то же самое зацикливание :( 

Много вариантов перебрала, либо цикл, либо ошибка определения класса config

Share this post


Link to post
Share on other sites
17 минут назад, AlexDW сказал:

пути в конфиге неверно указаны

 

вместо

define('DIR_APPLICATION', '/catalog/');

 

должно быть что-то вида

define('DIR_APPLICATION', 'M:/OpenServer/domains/os2302.ne/catalog/');

т.е. полный путь директории с сайтом

Ве-ли-ко-ле-пно!

Сработало. Такое простое решение, над такой неудобной проблемой.

Спасибо огромное, AlexDW!

 @nikifalex и вам спасибо, маленький урок я все же получила

Share this post


Link to post
Share on other sites

окей, значит  таки да, когда тут пишешь всякие дурные советы, то это людям и надо, спасибо говорят

когда же просто пишешь в чем проблема, то не слышат вообще.

Спасибо, я понял теперь как это работает.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.