🥹 [KG] DebugBar v0.4.1 - 그누보드 디버깅 플러그인 [KG-Plugins] > 그누보드5 플러그인

그누보드5 플러그인

그누보드는 다양한 기능을 추가하기 쉽습니다.

🥹 [KG] DebugBar v0.4.1 - 그누보드 디버깅 플러그인 [KG-Plugins] 정보

🥹 [KG] DebugBar v0.4.1 - 그누보드 디버깅 플러그인 [KG-Plugins]

첨부파일

plugin-debugbar-0.4.1.zip (835.0K) 8회 다운로드 2023-09-05 18:00:33 포인트 차감1
테스트한 버전5.5.8.3.3
호환 가능 버전KG Framework 필수. PHP 7.4 버전 이상, 그누보드 최신 버전,

본문

그누보드에 PHP Debug Bar를 추가하는 플러그인입니다. 그누보드의 실행 상태와 DB 쿼리, Hook, 요청 등 디버깅을 위한 기능을 제공합니다.

 

✅ 변경 내역

‼️ 파일 패치 후 '관리페이지 -> DB업그레이드' 메뉴에 접근해야 업데이트가 적용됩니다. ‼️

  • v0.4.1 (2023-09-05)
    • 2dfb213 stack 테이블이 생성되어있지 않을 때 오류 수정
    • #1 모든 요청의 데이터가 기록되는 문제 고침

 

1746695962_1693157802.247.jpg

 

‼️ 주의사항

이 플러그인은 디버깅을 위한 개발자용 도구이며, 서비스 중인 사이트에서 사용하지마세요.

이 플러그인이 출력하거나 저장하는 정보에 개인정보가 포함되거나 보안에 취약한 정보가 포함될 수 있습니다. 암호화되거나 암호화되지 않은 모든 유형의 데이터가 저장될 수 있습니다.

백그라운드 요청의 디버그 정보를 수집하기 위해 DB에 일부 데이터를 저장합니다. 이 데이터는 10MB 내외 또는 그 이상의 DB 용량을 차지할 수 있습니다.

 

 ✅ 설치 및 활성화 방법

 

활성화 방법

활성화

그누보드를 설치한 최상위 폴더에 config.custom.php 파일을 생성하여 다음과 같이 설정 할 수 있습니다.

  • KG_DEBUGBAR_ENABLE
    • type: bool
    • default: false
    • Debugbar 활성화. 최고관리자에게만 활성화 됨
  • KG_DEBUGBAR_ENABLE_IP
    • type: string
    • default: ''
    • 일치하는 IP에 대해 Debugbar 활성화
    • 쉼표(,)로 구분하여 여러 IP를 지정할 수 있음
    • IP를 지정하는 경우 해당 IP에 관리자 여부를 판단하지 않고 실행된 DB 쿼리 등 민감한 데이터가 보여질 수 있으므로 주의하세요
    • 서버 설정의 문제로 $_SERVER['REMOTE_ADDR']에 접속자의 IP가 제대로 전달되지 않아 모두 동일 IP로 전달되는 등의 문제가 있다면 서버 문제를 수정하거나 이 옵션을 사용하지 마세요

설정 예시

// 최고관리자 세션에서 Debugbar 활성화
$_ENV['KG_DEBUGBAR_ENABLE', true];

// 일치하는 IP에 Debugbar 항상 활성화
$_ENV['KG_DEBUGBAR_ENABLE_IP', '127.0.0.1,::1'];

 

DB 테이블 생성

백그라운드 요청의 디버그 정보를 확인하기 위해 DB 테이블을 생성해야 합니다.

위 활성화 과정을 거친 후 그누보드 관리자 페이지의 '환경설정 -> DB 업그레이드' 메뉴에 접근하면 자동으로 {prefix}_kg_debugbar_stack DB 테이블이 생성됩니다.

 

 

 

✅ 디버그 메시지 사용 방법

ddd() Since v0.4.0

ddd() 함수는 Debugbar의 'Messages' 탭에 메시지를 출력합니다.

ddd('Hello, world!');
ddd($g5);

// 첫번째 항목이 String이면 캡션처럼 사용됨
ddd('현재 회원', $member);

Ajax 등 백그라운드 요청

Ajax 등 백그라운드에서 실행되는 요청 또한 Debugbar에서 확인할 수 있습니다.

Debugbar 패널의 우측 상단 폴더 아이콘을 클릭하여 지난 내역을 볼 수 있으며 선택하여 해당 요청의 디버그 정보를 확인할 수 있습니다.

 

✅ License (GNU LGPL v2.1 or later)

 

Copyright (C) 2023 Kkigomi (https://github.com/kkigomi)

 

이 플러그인은 자유 소프트웨어입니다. 자유 소프트웨어 재단이 공표한 GNU LGPL 2.1 또는 그 이후 버전을 임의로 선택해서 그 규정에 따라 이 플러그인을 수정하거나 재배포할 수 있습니다.

 

이 플러그인은 어떠한 형태의 보증도 제공하지 않습니다. 특정 목적 적합성 또는 상업성에 대한 묵시적 보증 역시 제공하지 않습니다. 알지 못했거나 이미 알고 있는 문제가 포함되어있을 수 있으며, 예측하거나 예측하지 못한 문제를 일으킬 수 있습니다. 보다 자세한 사항에 대해서는 GNU LGPL 2.1 버전 또는 이 플러그인에 포함된 LICENSE 파일을 확인하시기 바랍니다.

 

추천
1

댓글 전체

좀 까다로워 졌죠.
안 되는 부분이 어떤건가요? 아예 안 나오는건지, 오류가 나는건지.. 상황을 알려주셔야 해결이 가능합니다.

아예 안 나오는거라면 아래 설치 조건이나 활성화 과정 확인해보세요.
- PHP 7.4 이상
- 그누보드 최소 5.5.8.2.6 버전 이상
- KG Framework 설치 및 활성화 (/_extend/_0_.kg.extend.php -> /extend 복사)
- /kg/plugins/debugbar 에 플러그인 설치
- /config.custom.php 파일 생성해서 `$_ENV['KG_DEBUGBAR_ENABLE', true];` 코드 추가
`환경설정 -> DB 업그레이드` 메뉴에 접근하면 DB에 {prefix}_kg_debugbar_stack 이런 테이블이 생성되어야 하는데 테이블이 생성 되었나요?

이런 스키마의 테이블 입니다(시스템 마다 캐릿셋, 엔진 등의 차이는 있음).
CREATE TABLE `g5_kg_debugbar_stack` (
  `no` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `id` varchar(33) CHARACTER SET ascii NOT NULL,
  `data` longtext COLLATE utf8mb4_unicode_ci,
  `meta_utime` double DEFAULT NULL,
  `meta_datetime` datetime DEFAULT NULL,
  `meta_uri` text COLLATE utf8mb4_unicode_ci,
  `meta_ip` varchar(45) CHARACTER SET ascii DEFAULT NULL,
  `meta_method` varchar(10) CHARACTER SET ascii DEFAULT NULL,
  PRIMARY KEY (`no`),
  UNIQUE KEY `unique_id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


0.4.0 버전에서는 테이블이 없을 때 오류가 나는 문제를 0.4.1 버전에서 고쳤는데, 다른 원인이 무엇인지는 모르겠군요.
에러로그 등 오류 메시지 확인이 가능하면 좋겠네요.
구버전의 플러그인(/extend/debugbar.extend.php 였던가...) 이건 제거 하셔야 합니다.
감사 합니다. 제가 라라곤, xampp, 등으로 테스트를 하고 있어서 그런 것 일수 있습니다.
안되어도 관계 없습니다. nas2dual은 php버전이 7.3대 여서 안됩니다.
플러그인 감사합니다~
한가지 궁금한점이 있는데요 KG 프레임워크는 PDO 를 사용하고 있는데
그누보드는 mysqli 를 사용하고 있어서 두개의 커넥션이 잡히게 되는거 아닌가 싶어서요
이 점 궁금합니다.
네. 말씀하신대로 두개의 커넥션이 만들어지는 것은 맞습니다만, 이 플러그인에서만 제한적으로 사용됩니다.

PHP DebugBar 패키지에서 PDO를 사용하고 있어서 이를 변경하기 귀찮아서 그냥 PDO를 사용하도록 해두었습니다.
이 플러그인 자체가 운용중인 서비스에서 주요하게 사용되는 기능도 아니라서 그냥 이대로 두어도 되지 않을까 싶습니다.

PDO 사용을 더 확대할 계획도 없습니다.
다만, 필요하다면 PDO를 사용할 수는 있도록 제거하지는 않을 생각입니다.
PDO를 사용하지 않는다면 커넥션을 생성하지 않습니다.

이 플러그인을 제외하고는 프레임워크 및 다른 플러그인들에서는 그누보드가 연결해둔 커넥션을 활용하고 있습니다.
https://github.com/kg-framework/kg/blob/main/src/Database/MySQL.php
https://kg-framework.github.io/kg/database/sql.html
MySQLi 커넥션을 그대로 사용하면서 Prepared Statement 사용 편의를 위한 헬퍼입니다.

`kg()->sql()`이 그누보드가 연결해둔 커넥션을 활용하며, PDO 커넥션은 `kg()->pdo()`로 이용할 수 있습니다.

반가운 의견주셔서 감사합니다 :)
전체 490
그누보드5 플러그인 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT