CI 묻고 답하기

제목 디버깅? 또는 오류 찾는 방법 문의 드립니다.
카테고리 CI 4 관련
글쓴이 nataek 작성시각 2024/01/06 15:38:01
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 3313   RSS

안녕 하세요..

오래전에 CI3 를 조금 하다가 몇년동안 CI는 하지 않다가 다시 CI4 를 접하게 되었습니다.

CI3 에서는 오류가 발생 하면 발생한 라인 이라든가..직관적으로 오류를 찾을 수 있었는데요..

CI4 에서는 오류가 발생 하면 오류 화면은 보기 좋게 변한 반면 어디서 오류가 발생 했는지 도대체 알 수가 없습니다.

그래서 혹시 제가 모르고 있는게 아닌가 싶어서 문의 드립니다. 

 

예를 들면 $this->request->getMethod() === "get" 라고 써야 하는 부분을

$this->request->getPost() === "get" 라고 써서 아래와 같은 오류가 발생 하였습니다.

이 오류를 보고서는 원인을 도저히 찾을 수가 없었습니다.

혹시 디버깅이나 CI3 처럼 직관적으로 오류를 찾을 수 있는 다른 방법이 있는 건가요?

 

* 이건 다른 얘기 인데요..

아래 오류 메시지를 이미지로 올리려고 했는데..오류가 발생 하네요.

content  컬럼인가요? Data too long 오류가 발생 했었습니다.

 

CodeIgniter\Database\Exceptions\DataException

There is no data to update.

SYSTEMPATH\Database\Exceptions\DataException.php at line 29

22      *
23      * @param string $mode
24      *
25      * @return \CodeIgniter\Database\Exceptions\DataException
26      */
27     public static function forEmptyDataset(string $mode)
28     {
29         return new static(lang('Database.emptyDataset', [$mode]));
30     }
31 
32     /**
33      * Thrown when an argument for one of the Model's methods
34      * were empty or otherwise invalid, and they could not be
35      * to work correctly for that method.
36      *

 
 다음글 호스팅 이용 시 CI4 사용이 가능할까요? (1)
 이전글 Linux NIS 인증 방법 문의 (2)

댓글

cilove / 2024/01/06 17:38:04 / 추천 0
예시로 말씀 하신부분의 경우는 에러가 아니라서 디버깅에 안걸립니다.
에러가 발생하면 화면에 에러가 표기됩니다(개발자모드일경우, 아닌경우 로그확인 필요-
kaido / 2024/01/08 15:02:41 / 추천 0

우선 .env 파일에 아래 설정을 넣고 확인해 보시면 좋을것 같습니다.

CI_ENVIRONMENT = development

디버그 바가 작동한 것인지, 작동해도 확인이 어려운건지 판단이 애매합니다.

디버그 바는  위에 설정 하고 나면

app/Config/Boot/development.php 파일에

defined('CI_DEBUG') || define('CI_DEBUG', true);

부분이 활성화 되어있어야 하며, 크롬 콘솔을 열어보면 

http://localhost/?debugbar_time=1704695380

요러한 형태로 내부 호출을 하고있습니다. 

리버스 프록시를 사용시 CORS 관련 설정을 해줘야 정상적으로 나타납니다.