이 글에서는 ThinkPHP 디버깅 모드와 로깅 사용법을 설명합니다. 이 기능은 ThinkPHP 프로젝트 개발에 있어서 매우 중요한 역할을 하며, 이를 이해하고 숙달하는 것이 필요합니다. 구체적인 방법은 다음과 같습니다.
1. config.php에서 설정 가능하며 기본적으로 닫혀있습니다.
활성화 방법:
'APP_DEBUG' => true
ThinkPHPCommondebug.php 파일을 열어 다음과 같이 기본 디버그 설정을 확인하세요.
return array( 'LOG_RECORD'=>true, // 进行日志记录 'LOG_RECORD_LEVEL' => array('EMERG','ALERT','CRIT','ERR','WARN','NOTIC','INFO','DEBUG','SQL'), // 允许记录的日志级别 'DB_FIELDS_CACHE'=> false, //数据库字段缓存 'SHOW_RUN_TIME'=>true, // 运行时间显示 'SHOW_ADV_TIME'=>true, // 显示详细的运行时间 'SHOW_DB_TIMES'=>true, // 显示数据库查询和写入次数 'SHOW_CACHE_TIMES'=>true, // 显示缓存操作次数 'SHOW_USE_MEM'=>true, // 显示内存开销 'SHOW_PAGE_TRACE'=>true, // 显示页面Trace信息 由Trace文件定义和Action操作赋值 'APP_FILE_CASE' => true, // 是否检查文件的大小写 对Windows平台有效 );
참고: DB_FIELDS_CACHE 데이터베이스 필드 캐시는 기본적으로 꺼져 있습니다. 켜져 있으면 테이블을 수정한 후 새 필드가 추가되면 이 캐시가 작업을 기록할 수 없습니다. 테이블을 한 번 삭제한 후에만 테이블 수정이 성공합니다.
'APP_DEBUG' => true로 설정하면 아래와 같은 DEBUG 프롬프트가 액세스 페이지에 나타납니다.
실행 시간, 메모리 오버헤드 등 프롬프트 정보 중 일부만 표시하려는 경우
config.php에서 다음과 같은 해당 설정을 지정할 수 있습니다.
//'APP_DEBUG' => true, // 调试模式开关 'SHOW_RUN_TIME' => true, //运行时间显示 'SHOW_ADV_TIME' => true, //显示详细的运行时间 'SHOW_DB_TIMES' => true, //显示数据库的操作次数 'SHOW_CACHE_TIMES'=>true, //显示缓存操作次数 'SHOW_USE_MEM' => true, //显示内存开销
프롬프트 정보는 아래와 같습니다.
2. 페이지 추적 정보 사용자 정의: ThinkPHPTplPageTrace.tpl.php
맞춤형 방법 1: config.php와 동일한 디렉터리에 Trace.php 파일을 추가합니다. 코드는 다음과 같습니다.
<?php return array{ '当前的server信息'=>$_SERVER['REMOTE_ADDR'], }; ?>
맞춤형 방법 2: Action 메서드에
추가$this->trace('调试测试','5211314');
3. 출력 디버깅 방법:
halt('aaaaaaa');//输出aaaaaa并且中断程序执行
4. 모델 디버깅: SQL 문 표시
$User=new Model('User'); $User->find(1); echo $User->getLastSql();//输出最后执行的一条SQL语句
5. ThinkPHPLibThinkCoreLog.class.php 로깅
config.php에서 설정
'LOG_RECORD'=>true,//开启了日志记录 'LOG_RECORD_LEVEL'=>array('EMERG','ALERT','ERROR'),
이 글에서 설명하는 방법이 모든 분들께 도움이 되기를 바랍니다.