è°è¯æ¨¡å¼å¹¶ä¸è½å®å
¨æ»¡è¶³æ们è°è¯çéè¦ï¼ææ¶åæ们éè¦æå¨çè¾åºä¸äºè°è¯ä¿¡æ¯ãé¤äºæ¬èº«å¯ä»¥åå©ä¸äºå¼åå·¥å
·è¿è¡è°è¯å¤ï¼ThinkPHPè¿æä¾äºä¸äºå
ç½®çè°è¯å·¥å
·åå½æ°ã
`Trace`è°è¯åè½å°±æ¯ThinkPHPæä¾ç»å¼å人åçä¸ä¸ªç¨äºå¼åè°è¯çè¾
å©å·¥å
·ãå¯ä»¥å®æ¶æ¾ç¤ºå½å页é¢æè
请æ±ç请æ±ä¿¡æ¯ãè¿è¡æ
åµãSQLæ§è¡ãé误信æ¯åè°è¯ä¿¡æ¯çï¼å¹¶æ¯æèªå®ä¹æ¾ç¤ºï¼å¹¶ä¸æ¯æ没æ页é¢è¾åºçæä½è°è¯ãææ°çæ¬é¡µé¢Traceåè½å·²ç»ä¸åå
ç½®å¨æ ¸å¿ï¼ä½é»è®¤å®è£
çæ¶åä¼èªå¨å®è£
`topthink/think-trace`æ©å±ï¼æä»¥ä½ å¯ä»¥å¨é¡¹ç®éé¢ç´æ¥ä½¿ç¨ã
å¦æé¨ç½²å°æå¡å¨çè¯ï¼ä½ å¯ä»¥éè¿ä¸é¢æ¹å¼å®è£
~~~
composer install --no-dev
~~~
å°±ä¸ä¼å®è£
页é¢Traceæ©å±ã
## 使ç¨
>[danger] 页é¢Traceåè½ä»
å¨è°è¯æ¨¡å¼ä¸ææ
å®è£
页é¢Traceæ©å±åï¼å¦æå¼å¯è°è¯æ¨¡å¼å¹¶ä¸è¿è¡åæ页é¢æè¾åºçè¯ï¼é¡µé¢å³ä¸è§ä¼æ¾ç¤º`ThinkPHP`çLOGOï¼
![](https://box.kancloud.cn/fa196d0c104cc425c023bf8f2b6638be_110x37.png)
LOGOåé¢çæ°åå°±æ¯å½å页é¢çæ§è¡æ¶é´ï¼åä½æ¯ç§ï¼ ç¹å»è¯¥å¾æ åï¼ä¼å±å¼è¯¦ç»çTraceä¿¡æ¯ï¼å¦å¾ï¼
![](https://img.kancloud.cn/d3/14/d314b0ff7f4660593d2f590a3bcd9917_817x224.png)
Traceæ¡æ¶æ6个é项å¡ï¼åå«æ¯åºæ¬ãæ件ãæµç¨ãé误ãSQLåè°è¯ï¼ç¹å»ä¸åçé项å¡ä¼åæ¢å°ä¸åçTraceä¿¡æ¯çªå£ã
| éé¡¹å¡ | æè¿° |
|-----|-----|
| åºæ¬ | å½å页é¢çåºæ¬æè¦ä¿¡æ¯ï¼ä¾å¦æ§è¡æ¶é´ãå
åå¼éãæ件å è½½æ°ãæ¥è¯¢æ¬¡æ°çç |
| æ件 | 详ç»ååºå½å页é¢æ§è¡è¿ç¨ä¸å è½½çæ件åå
¶å¤§å° |
| æµç¨ | ä¼ååºå½å页é¢æ§è¡å°çè¡ä¸ºåç¸å
³æµç¨ |
| é误 | å½å页é¢æ§è¡è¿ç¨ä¸çä¸äºé误信æ¯ï¼å
æ¬è¦åé误 |
| SQL | å½å页é¢æ§è¡å°çSQLè¯å¥ä¿¡æ¯ |
| è°è¯ | å¼å人åå¨ç¨åºä¸è¿è¡çè°è¯è¾åº |
Traceçé项å¡æ¯å¯ä»¥å®å¶åæ©å±çï¼å¦æä½ å¸æå¢å æ°çé项å¡ï¼åå¯ä»¥ä¿®æ¹é
ç½®ç®å½ä¸ç`trace.php`æ件ä¸çé
ç½®åæ°å¦ä¸ï¼
~~~
return [
'type' => 'Html',
'tabs' => [
'base' => 'åºæ¬',
'file' => 'æ件',
'info' => 'æµç¨',
'error' => 'é误',
'sql' => 'SQL',
'debug' => 'è°è¯',
'user' => 'ç¨æ·',
],
];
~~~
>[danger] `base`å`file`æ¯ç³»ç»å
ç½®çï¼å
¶å®çé项å
¶å®é½å±äºæ¥å¿çç级ï¼useræ¯ç¨æ·èªå®ä¹çæ¥å¿ç级ï¼ã
ä¹å¯ä»¥ææå 个é项å¡å并ï¼ä¾å¦ï¼
~~~
return [
'type' => 'Html',
'tabs' => [
'base' => 'åºæ¬',
'file' => 'æ件',
'error|notice|warning' => 'é误',
'sql' => 'SQL',
'debug|info' => 'è°è¯',
],
];
~~~
æ´æ¹åçTraceæ¾ç¤ºææå¦å¾ï¼
![](https://img.kancloud.cn/02/35/023543adab917ac4b3918bec83b76c94_814x231.png)
å¦æéè¦æ´æ¹é¡µé¢Traceè¾åºçæ ·å¼ï¼å¯ä»¥èªå®ä¹æ¨¡æ¿æ件ï¼å¯ä»¥å¤å¶å
置模æ¿æ件`vendor/topthink/think-trace/src/tpl/page_trace.tpl`çå
容ï¼ï¼ç¶åé
ç½®`file`åæ°æå®æ¨¡æ¿æ件ä½ç½®ã
```
'file' => 'app\trace\page_trace.html',
```
## æµè§å¨æ§å¶å°è¾åº
traceåè½æ¯æå¨æµè§å¨ç`console`ç´æ¥è¾åºï¼è¿æ ·å¯ä»¥æ¹ä¾¿æ²¡æ页é¢è¾åºçæä½åè½è°è¯ï¼åªéè¦å¨é
ç½®æ件ä¸è®¾ç½®ï¼
~~~
// 使ç¨æµè§å¨consoleè¾åºtraceä¿¡æ¯
'type' => 'console',
~~~
è¿è¡åæå¼æµè§å¨çconsoleæ§å¶å°å¯ä»¥çå°å¦å¾æ示çä¿¡æ¯ï¼
![](https://img.kancloud.cn/af/98/af9878cc36cdfbe462108bbcffa994f7_1089x354.png)
æµè§å¨Traceè¾åºåæ ·æ¯æ`tabs`设置ã
>[danger] ç±äºé¡µé¢Traceåè½æ¯éè¿ä¸é´ä»¶æ¥æ§è¡ï¼æ以å½ä»¤è¡ä¸é¢ä¸ä¼æ¾ç¤ºä»»ä½ç页é¢Traceä¿¡æ¯
- åºè¨
- åºç¡
- å®è£
- å¼åè§è
- ç®å½ç»æ
- é ç½®
- æ¶æ
- 请æ±æµç¨
- æ¶ææ»è§
- å ¥å£æ件
- å¤åºç¨æ¨¡å¼
- URL访é®
- 容å¨åä¾èµæ³¨å ¥
- æå¡
- é¨é¢
- ä¸é´ä»¶
- äºä»¶
- è·¯ç±
- è·¯ç±å®ä¹
- åéè§å
- è·¯ç±å°å
- è·¯ç±åæ°
- è·¯ç±ä¸é´ä»¶
- è·¯ç±åç»
- èµæºè·¯ç±
- 注解路ç±
- è·¯ç±ç»å®
- ååè·¯ç±
- MISSè·¯ç±
- è·¨å请æ±
- URLçæ
- æ§å¶å¨
- æ§å¶å¨å®ä¹
- åºç¡æ§å¶å¨
- 空æ§å¶å¨
- èµæºæ§å¶å¨
- æ§å¶å¨ä¸é´ä»¶
- 请æ±
- 请æ±å¯¹è±¡
- 请æ±ä¿¡æ¯
- è¾å ¥åé
- 请æ±ç±»å
- HTTP头信æ¯
- 伪éæ
- åæ°ç»å®
- 请æ±ç¼å
- ååº
- ååºè¾åº
- ååºåæ°
- éå®å
- æ件ä¸è½½
- æ°æ®åº
- è¿æ¥æ°æ®åº
- åå¸å¼æ°æ®åº
- æ¥è¯¢æé å¨
- æ¥è¯¢æ°æ®
- æ·»å æ°æ®
- æ´æ°æ°æ®
- å é¤æ°æ®
- æ¥è¯¢è¡¨è¾¾å¼
- é¾å¼æä½
- where
- table
- alias
- field
- strict
- limit
- page
- order
- group
- having
- join
- union
- distinct
- lock
- cache
- comment
- fetchSql
- force
- partition
- failException
- sequence
- replace
- extra
- duplicate
- procedure
- èåæ¥è¯¢
- å页æ¥è¯¢
- æ¶é´æ¥è¯¢
- é«çº§æ¥è¯¢
- è§å¾æ¥è¯¢
- JSONå段
- åæ¥è¯¢
- åçæ¥è¯¢
- æ¥è¯¢äºä»¶
- è·åå¨
- äºå¡æä½
- åå¨è¿ç¨
- æ°æ®é
- æ°æ®åºé©±å¨
- 模å
- å®ä¹
- 模åå段
- æ°å¢
- æ´æ°
- å é¤
- æ¥è¯¢
- æ¥è¯¢èå´
- JSONå段
- è·åå¨
- ä¿®æ¹å¨
- æç´¢å¨
- æ°æ®é
- èªå¨æ¶é´æ³
- åªè¯»å段
- 软å é¤
- ç±»å转æ¢
- 模åè¾åº
- 模åäºä»¶
- 模åå ³è
- ä¸å¯¹ä¸å ³è
- ä¸å¯¹å¤å ³è
- è¿ç¨ä¸å¯¹å¤
- è¿ç¨ä¸å¯¹ä¸
- å¤å¯¹å¤å ³è
- å¤æå ³è
- å ³èé¢è½½å ¥
- å ³èç»è®¡
- å ³èè¾åº
- è§å¾
- 模æ¿åé
- è§å¾è¿æ»¤
- 模æ¿æ¸²æ
- 模æ¿å¼æ
- è§å¾é©±å¨
- é误åæ¥å¿
- å¼å¸¸å¤ç
- æ¥å¿å¤ç
- è°è¯
- è°è¯æ¨¡å¼
- Traceè°è¯
- SQLè°è¯
- åéè°è¯
- è¿ç¨è°è¯
- éªè¯
- éªè¯å¨
- éªè¯è§å
- é误信æ¯
- éªè¯åºæ¯
- è·¯ç±éªè¯
- å ç½®è§å
- 表å令ç
- 注解éªè¯
- æ项
- ç¼å
- Session
- Cookie
- å¤è¯è¨
- ä¸ä¼
- å½ä»¤è¡
- å¯å¨å ç½®æå¡å¨
- æ¥ççæ¬
- èªå¨çæåºç¨ç®å½
- å建类åºæ件
- æ¸ é¤ç¼åæ件
- çææ°æ®è¡¨å段ç¼å
- çæè·¯ç±æ å°ç¼å
- è¾åºè·¯ç±å®ä¹
- èªå®ä¹æ令
- æ©å±åº
- æ°æ®åºè¿ç§»å·¥å ·
- Workerman
- thinkå©æå·¥å ·åº
- éªè¯ç
- Swoole
- éå½
- å©æå½æ°
- å级æ导
- æ´æ°æ¥å¿