mysqli::debug

mysqli_debug

(PHP 5, PHP 7, PHP 8)

mysqli::debug -- mysqli_debugRealiza operações de depuração

Descrição

Estilo orientado a objetos

public mysqli::debug(string $options): true

Estilo procedural

mysqli_debug(string $options): true

Realiza operações de depuração usando a biblioteca Fred Fish.

Parâmetros

options

Uma string representando a operação de depuração a ser executada

A string de opções de depuração é uma sequência de campos separados por dois pontos (:) desta maneira:

<campo_1>:<campo_2>:<campo_N>
Cada campo consiste de um caractere de opção mandatório seguido por uma , opcional e uma lista de modificadores: separados por vírgula: opção[,modificador,modificador,...,modificador]

Caracteres de Opção Reconhecidos
Caractere de options Descrição
O MYSQLND_DEBUG_FLUSH
A/a MYSQLND_DEBUG_APPEND
F MYSQLND_DEBUG_DUMP_FILE
i MYSQLND_DEBUG_DUMP_PID
L MYSQLND_DEBUG_DUMP_LINE
m MYSQLND_DEBUG_TRACE_MEMORY_CALLS
n MYSQLND_DEBUG_DUMP_LEVEL
o saída para arquivo
T MYSQLND_DEBUG_DUMP_TIME
t MYSQLND_DEBUG_DUMP_TRACE
x MYSQLND_DEBUG_PROFILE_CALLS

Valor Retornado

Sempre retorna true.

Registro de Alterações

Versão Descrição
8.0.0 Esta função agora sempre retorna true. Anteriormente retornava false em caso de falha.

Exemplos

Exemplo #1 Gerando um Aqruivo de Rastreamento

<?php

/* Cria um arquivo de rastreamento em '/tmp/client.trace' na máquina local (do cliente): */
mysqli_debug("d:t:o,/tmp/client.trace");

?>

Notas

Nota:

Para usar a função mysqli_debug() deve-se compilar a biblioteca do cliente MySQL com suporte a depuração.

Veja Também

add a note add a note

User Contributed Notes 3 notes

up
29
Peter
10 years ago
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 ?
up
6
riversnowchang at gmail dot com
6 years ago
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.
up
-1
Domenic
6 years ago
Looks like this manual could be referred to:

http://tiebing.blogspot.com.au/2011/10/cc-dbug-library.html

(I haven't tested it)
To Top