mysqli::debug()
(PHP 5, PHP 7)
Performs debugging operations
说明
面向对象风格
mysqli::debug(string $message): bool
过程化风格
mysqli_debug(string $message): bool
Performs debugging operations using the Fred Fish debugging library.
参数
- $message
A string representing the debugging operation to perform
返回值
Returns TRUE
.
注释
Note:To use the mysqli_debug() function you must compile the MySQL client library to support debugging.
范例
Example #1 Generating a Trace File
<?php /* Create a trace file in '/tmp/client.trace' on the local (client) machine: */ mysqli_debug("d:t:o,/tmp/client.trace"); ?>
参见
- mysqli_dump_debug_info() 将调试信息输出到日志
mysqli_report()
别名 mysqli_driver->report_mode
can there be more documenation with a small (but working) example script on how to use this ? Some issues (Ive seen the "same" code example in dozens of tutorials):- ( I'll use capitals for emphasis only) QUESTION: what does D:T:O mean ? UNEXPLAINED. QUESTION: Do we *ONLY* use these 3 lines in a self-contained script ? Does this log ALL future MYSQL commands ? QUESTION :- Do we put that one line just - immediately after we connect to MYSQL ? - before we connect to MYSQL ? - before our suspected error ?
Here are the information about debug options on mysqli_debug() O,o:MYSQLND_DEBUG_FLUSH A,a:MYSQLND_DEBUG_APPEND F:MYSQLND_DEBUG_DUMP_FILE L:MYSQLND_DEBUG_DUMP_LINE m:MYSQLND_DEBUG_TRACE_MEMORY_CALLS n:MYSQLND_DEBUG_DUMP_LEVEL o:output to file T:MYSQLND_DEBUG_DUMP_TIME t:MYSQLND_DEBUG_DUMP_TRACE x:MYSQLND_DEBUG_PROFILE_CALLS f:? still investigating For example, mysqli_debug("T:n:t:m:x:F:L:o,/tmp/client.trace"); mysqlnd will write Time, Level, trace, memory calls, profile calls, File, Line to client.trace file. 22:35:42.704501 ../mysqlnd_connection.c: 269 0:>mysqlnd_connection_init 22:35:42.704538 ../mysqlnd_driver.c: 10 1:| >mysqlnd_driver::get_connection 22:35:42.704549 ../mysqlnd_driver.c: 10 2:| | info : persistent=1 22:35:42.704558 ../mysqlnd_alloc.c: 21 2:| | >_mysqlnd_pecalloc 22:35:42.704570 ../mysqlnd_alloc.c: 23 2:| | <_mysqlnd_pecalloc (total=3 own=3 in_calls=0) 22:35:42.704602 ../mysqlnd_alloc.c: 21 2:| | >_mysqlnd_pecalloc 22:35:42.704626 ../mysqlnd_alloc.c: 23 2:| | <_mysqlnd_pecalloc (total=2 own=2 in_calls=0) 22:35:42.704650 ../mysqlnd_connection.c: 15 2:| | >mysqlnd_error_info_init 22:35:42.704675 ../mysqlnd_connection.c: 10 3:| | | >mysqlnd_error_info::reset 22:35:42.704697 ../mysqlnd_connection.c: 10 3:| | | <mysqlnd_error_info::reset (total=1 own=1 in_calls=0) 22:35:42.704725 ../mysqlnd_connection.c: 16 2:| | <mysqlnd_error_info_init (total=51 own=50 in_calls=1) 22:35:42.704744 ../mysqlnd_connection.c: 21 2:| | >mysqlnd_connection_state_init If there is anything wrong, please let me know.
Looks like this manual could be referred to: http://tiebing.blogspot.com.au/2011/10/cc-dbug-library.html (I haven't tested it)