문제가 발생하였습니다.

(HY000/1044) Access denied for user 'moimztools'@'localhost' to database 'html'
  • /var/projects/iModules/classes/iModules.php
  • 78
            Sites::init();
    
  • 79
  • 80
            /**
    
  • 81
             * 전체 컨텍스트를 초기화한다.
    
  • 82
             */
    
  • 83
            Contexts::init();
    
  • 84
  • 85
            self::loadingTime('init');
    
  • 86
        }
    
  • 87
  • 88
        /**
    
  • 89
         * 데이터베이스 인터페이스 클래스를 가져온다.
    
  • 90
         *
    
  • 91
         * @param string $name 데이터베이스 인터페이스 고유명
    
  • 92
         * @param ?DatabaseConnector $connector 데이터베이스정보
    
  • 93
         * @return DatabaseInterface $interface
    
  • 94
         */
    
  • 95
        public static function db(string $name = 'default', ?DatabaseConnector $connector = null): DatabaseInterface
    
  • 96
        {
    
  • 97
            return Database::getInterface($name, $connector ?? Configs::db());
    
  • 98
        }
    
  • 99
  • 100
        /**
    
  • 101
         * 간략화된 테이블명으로 실제 데이터베이스 테이블명을 가져온다.
    
  • 102
         *
    
  • 103
         * @param string $table
    
  • 104
         * @return string $table
    
  • 105
         */
    
  • 106
        public static function table(string $table): string
    
  • 107
        {
    
  • 108
            return (Configs::get('db')?->prefix ?? 'im_') . $table;
    
  • 109
        }
    
  • 110
  • 111
        /**
    
  • 112
         * 로딩시간을 기록한다.
    
  • 113
         *
    
  • 114
         * @param string $name
    
  • 115
         */
    
  • 116
        public static function loadingTime(string $name): void
    
  • 117
        {
    
  • 118
            self::$_loadingTime[] = [$name, Format::microtime()];
    
  • /var/projects/iModules/classes/iModules.php
  • 257
             */
    
  • 258
            if ($site->getFavicon() !== null) {
    
  • 259
                Html::head('link', [
    
  • 260
                    'rel' => 'shortcut icon',
    
  • 261
                    'type' => 'image/x-icon',
    
  • 262
                    'href' => $site->getFavicon()->getUrl('origin'),
    
  • 263
                ]);
    
  • 264
            }
    
  • 265
        }
    
  • 266
  • 267
        /**
    
  • 268
         * 커스터마이즈 언어팩을 불러온다.
    
  • 269
         *
    
  • 270
         * @return object $customize
    
  • 271
         */
    
  • 272
        public static function getLanguageCustomize(): object
    
  • 273
        {
    
  • 274
            // @todo 캐시적용
    
  • 275
            $customize = new stdClass();
    
  • 276
            $languages = iModules::db()
    
  • 277
                ->select()
    
  • 278
                ->from(iModules::table('languages'))
    
  • 279
                ->get();
    
  • 280
            foreach ($languages as $language) {
    
  • 281
                $component = '/' . $language->component_type . 's/' . $language->component_name;
    
  • 282
                $customize->{$component} ??= new stdClass();
    
  • 283
                $customize->{$component}->{$language->language} ??= new stdClass();
    
  • 284
                $paths = explode('.', $language->path);
    
  • 285
  • 286
                $current = $customize->{$component}->{$language->language};
    
  • 287
                while ($path = array_shift($paths)) {
    
  • 288
                    if (empty($paths) == true) {
    
  • 289
                        $current->{$path} = $language->text;
    
  • 290
                    } else {
    
  • 291
                        $current->{$path} ??= new stdClass();
    
  • 292
                        $current = $current->{$path};
    
  • 293
                    }
    
  • 294
                }
    
  • 295
            }
    
  • 296
  • 297
            return $customize;
    
  • /var/projects/iModules/classes/iModules.php
  • 44
             * 라우터를 초기화한다.
    
  • 45
             */
    
  • 46
            Router::init();
    
  • 47
  • 48
            /**
    
  • 49
             * 설치가 되지 않았을 경우 설치화면으로 이동한다.
    
  • 50
             */
    
  • 51
            if (Configs::isInstalled() == false) {
    
  • 52
                exit();
    
  • 53
            }
    
  • 54
  • 55
            /**
    
  • 56
             * 캐시를 초기화한다.
    
  • 57
             */
    
  • 58
            Cache::init();
    
  • 59
  • 60
            /**
    
  • 61
             * 언어팩을 초기화한다.
    
  • 62
             */
    
  • 63
            Language::init(self::getLanguageCustomize());
    
  • 64
  • 65
            /**
    
  • 66
             * 모듈을 초기화한다.
    
  • 67
             */
    
  • 68
            Modules::init();
    
  • 69
  • 70
            /**
    
  • 71
             * 전체 도메인을 초기화한다.
    
  • 72
             */
    
  • 73
            Domains::init();
    
  • 74
  • 75
            /**
    
  • 76
             * 전체 사이트를 초기화한다.
    
  • 77
             */
    
  • 78
            Sites::init();
    
  • 79
  • 80
            /**
    
  • 81
             * 전체 컨텍스트를 초기화한다.
    
  • 82
             */
    
  • 83
            Contexts::init();
    
  • 84
  • /var/projects/iModules/classes/iModules.php
  • 382
                /**
    
  • 383
                 * 메타데이터를 설정한다.
    
  • 384
                 */
    
  • 385
                iModules::metas();
    
  • 386
            } else {
    
  • 387
                /**
    
  • 388
                 * Content-Type 을 지정한다.
    
  • 389
                 */
    
  • 390
                Header::type('json');
    
  • 391
            }
    
  • 392
  • 393
            self::loadingTime('initContent');
    
  • 394
        }
    
  • 395
  • 396
        /**
    
  • 397
         * 요청에 따른 응답을 처리한다.
    
  • 398
         */
    
  • 399
        public static function respond(): void
    
  • 400
        {
    
  • 401
            self::init();
    
  • 402
  • 403
            $route = Router::get();
    
  • 404
  • 405
            /**
    
  • 406
             * 경로 타입에 따라 응답을 처리한다.
    
  • 407
             */
    
  • 408
            switch ($route->getType()) {
    
  • 409
                case 'context':
    
  • 410
                    self::doContext($route);
    
  • 411
                    break;
    
  • 412
  • 413
                case 'html':
    
  • 414
                    self::doHtml($route);
    
  • 415
                    break;
    
  • 416
  • 417
                case 'blob':
    
  • 418
                    self::doBlob($route);
    
  • 419
                    break;
    
  • 420
            }
    
  • 421
        }
    
  • 422
  • /var/projects/iModules/index.php
  • 1
    <?php
    
  • 2
    /**
    
  • 3
     * 이 파일은 아이모듈의 일부입니다. (https://www.imodules.io)
    
  • 4
     *
    
  • 5
     * 사이트 최초 접속시 실행되는 파일로 기본설정을 불러오고 아이모듈 코어 클래스를 선언하여 요청된 페이지를 반환한다.
    
  • 6
     *
    
  • 7
     * @file /index.php
    
  • 8
     * @author Arzz <arzz@arzz.com>
    
  • 9
     * @license MIT License
    
  • 10
     * @modified 2022. 12. 1.
    
  • 11
     */
    
  • 12
    require_once './configs/init.php';
    
  • 13
  • 14
    /**
    
  • 15
     * 요청에 따라 응답한다.
    
  • 16
     */
    
  • 17
    iModules::respond();
    
문제가 발생하였습니다.

문제가 발생하였습니다.

WARNING : mysqli::__construct(): (HY000/1044): Access denied for user 'moimztools'@'localhost' to database 'html' /var/projects/iModules/classes/DatabaseInterface/mysql.php on line 90