>  기사  >  백엔드 개발  >  ThinkPHP 디버깅 모드 및 로깅overview_php 예

ThinkPHP 디버깅 모드 및 로깅overview_php 예

WBOY
WBOY원래의
2016-05-16 20:36:59980검색

이 글에서는 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 파일을 추가합니다. 코드는 다음과 같습니다.

<&#63;php
 return array{
  '当前的server信息'=>$_SERVER['REMOTE_ADDR'],
 };
&#63;>

맞춤형 방법 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'),

이 글에서 설명하는 방법이 모든 분들께 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.