<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.mysqlnd.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'mysqlnd.config.php',
    1 => 'Configura&ccedil;&otilde;es em Execu&ccedil;&atilde;o',
    2 => 'Configura&ccedil;&otilde;es em Execu&ccedil;&atilde;o',
  ),
  'up' => 
  array (
    0 => 'book.mysqlnd.php',
    1 => 'Mysqlnd',
  ),
  'prev' => 
  array (
    0 => 'mysqlnd.install.php',
    1 => 'Instala&ccedil;&atilde;o',
  ),
  'next' => 
  array (
    0 => 'mysqlnd.incompatibilities.php',
    1 => 'Incompatibilidades',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'reference/mysqlnd/config.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="mysqlnd.config" class="chapter">

  <h1 class="title">Configurações em Execução</h1>

  <p class="simpara">
O comportamento destas funções é afetado pelas configurações do <var class="filename">php.ini</var>.
</p>

  <p class="para">
  <table id="mysqlnd.config.options" class="doctable table">
   <caption><strong>Opções de configuração do Driver Nativo MySQL</strong></caption>
   
    <thead>
     <tr>
      <th>Nome</th>
      <th>Padrão</th>
      <th>Modificável</th>
      <th>Registro de Alterações</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><a href="mysqlnd.config.php#ini.mysqlnd.collect-statistics" class="link">mysqlnd.collect_statistics</a></td>
      <td>&quot;1&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="mysqlnd.config.php#ini.mysqlnd.collect-memory-statistics" class="link">mysqlnd.collect_memory_statistics</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="mysqlnd.config.php#ini.mysqlnd.debug" class="link">mysqlnd.debug</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="mysqlnd.config.php#ini.mysqlnd.log-mask" class="link">mysqlnd.log_mask</a></td>
      <td>0</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="mysqlnd.config.php#ini.mysqlnd.mempool-default-size" class="link">mysqlnd.mempool_default_size</a></td>
      <td>16000</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="mysqlnd.config.php#ini.mysqlnd.net-read-timeout" class="link">mysqlnd.net_read_timeout</a></td>
      <td>&quot;86400&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>
       Antes do PHP 7.2.0 o padrão era &quot;31536000&quot;
       e a mutabilidade era <strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong>
      </td>
     </tr>

     <tr>
      <td><a href="mysqlnd.config.php#ini.mysqlnd.net-cmd-buffer-size" class="link">mysqlnd.net_cmd_buffer_size</a></td>
      <td>&quot;4096&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="mysqlnd.config.php#ini.mysqlnd.net-read-buffer-size" class="link">mysqlnd.net_read_buffer_size</a></td>
      <td>&quot;32768&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="mysqlnd.config.php#ini.mysqlnd.sha256-server-public-key" class="link">mysqlnd.sha256_server_public_key</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-perdir">INI_PERDIR</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

      <tr>
       <td><a href="mysqlnd.config.php#ini.mysqlnd.trace-alloc" class="link">mysqlnd.trace_alloc</a></td>
       <td>&quot;&quot;</td>
       <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
       <td class="empty">&nbsp;</td>
      </tr>

     <tr>
      <td><a href="mysqlnd.config.php#ini.mysqlnd.fetch_data_copy" class="link">mysqlnd.fetch_data_copy</a></td>
      <td>0</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Removida a partir do PHP 8.1.0</td>
     </tr>

    </tbody>
   
  </table>

  Para mais detalhes e definições dos modos
INI_*, consulte os <a href="configuration.changes.modes.php" class="xref">Onde uma configura&ccedil;&atilde;o deve ser definida</a>.
 </p>

  <p class="para">Aqui está uma breve explicação das
diretivas de configuração.</p>

  <dl>
  
   <dt id="ini.mysqlnd.collect-statistics">
    <code class="parameter">mysqlnd.collect_statistics</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Permite a coleta de várias estatísticas de clientes que podem ser
     acessadas através de <span class="function"><a href="function.mysqli-get-client-stats.php" class="function">mysqli_get_client_stats()</a></span> e
     <span class="function"><a href="mysqli.get-connection-stats.php" class="function">mysqli_get_connection_stats()</a></span>
     e também são mostradas na
     seção <code class="literal">mysqlnd</code> da saída da
     função <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span>.
    </span>
    <span class="simpara">
     Esta configuração ativa todas as
     <a href="mysqlnd.stats.php" class="link">estatísticas do Driver Nativo
     MySQL</a> exceto aquelas relacionadas ao gerenciamento de memória.
    </span>
   </dd>
  
  
   <dt id="ini.mysqlnd.collect-memory-statistics">
    <code class="parameter">mysqlnd.collect_memory_statistics</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Permite a coleta de várias estatísticas de clientes que podem ser
     acessadas através de <span class="function"><a href="function.mysqli-get-client-stats.php" class="function">mysqli_get_client_stats()</a></span> e
     <span class="function"><a href="mysqli.get-connection-stats.php" class="function">mysqli_get_connection_stats()</a></span>
     e também são mostradas na
     seção <code class="literal">mysqlnd</code> da saída da
     função <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span>.
    </span>
    <span class="simpara">
     Esta definição de configuração ativa as estatísticas de gerenciamento
     de memória dentro do conjunto geral de
     <a href="mysqlnd.stats.php" class="link">estatísticas do Driver Nativo
     MySQL</a>.
    </span>
   </dd>
  
  
   <dt id="ini.mysqlnd.debug">
    <code class="parameter">mysqlnd.debug</code> <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Grava a comunicação de todas as extenões que usam
     <code class="literal">mysqlnd</code> para o arquivo de registro especificado.
    </span>
    <span class="simpara">
     O formato da diretiva é <code class="literal">mysqlnd.debug =
     &quot;opção1[,parâmetro_opção1][:opção2[,parâmetro_opção2]]&quot;</code>.
    </span>
    <span class="simpara">
     As opções para a string de formato são as seguintes:
    </span>
    <ul class="itemizedlist">
     <li class="listitem">
      <span class="simpara">
       A[,arquivo] - Acrescenta saída de rastreamento ao arquivo especificado. Também garante
       que os dados sejam gravados após cada gravação. Isso é feito fechando
       e reabrindo o arquivo de rastreamento (isso é lento). Isso ajuda a garantir um
       arquivo de registro completo caso o aplicativo falhe.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       a[,arquivo] - Acrescenta saída de rastreamento ao arquivo especificado.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       d - Ativa a saída de macros DBUG_&lt;N&gt; para o estado
       atual. Pode ser seguido por uma lista de palavras-chave que seleciona
       a saída apenas para as macros DBUG com essa palavra-chave. Uma lista vazia
       de palavras-chave implica em saída para todas as macros.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       f[,funções] - Limita as ações do depurador à lista de funções
       especificada. Uma lista vazia de funções implica em que todas as funções
       são selecionadas.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       F - Marca cada linha de saída do depurador com o nome do arquivo
       de origem que contém a macro que causa a saída.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       i - Marca cada linha de saída do depurador com o PID do processo
       atual.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       L - Marca cada linha de saída do depurador com o nome do número da linha do arquivo
       de origem da macro que causa a saída.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       n - Marca cada linha de saída do depurador com a profundidade de aninhamento
       da função atual.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       o[,arquivo] - Similar a a[,arquivo] mas sobrescreve o arquivo antigo, e não
       anexa.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       O[,arquivo] - Similar a A[,arquivo] mas sobrescreve o arquivo antigo, e não
       anexa.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       t[,N] - Ativa o rastreamento de fluxo de controle de função. A profundidade
       máxima de aninhamento é especificada por N e o padrão é 200.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       x - Este opção ativa a criação de perfil de código.
      </span>
     </li>
      <li class="listitem">
      <span class="simpara">
       m - Rastreia chamadas relacionadas à alocação e desalocação de memória.
      </span>
     </li>
    </ul>
    <span class="simpara">
     Example:
    </span>
    <div class="example-contents">
<div class="cdata"><pre>
d:t:x:O,/tmp/mysqlnd.trace
</pre></div>
    </div>

    <blockquote class="note"><p><strong class="note">Nota</strong>: 
     <span class="simpara">
      Este recurso está disponível apenas com uma compilação de depuração do PHP.
     </span>
    </p></blockquote>
    <span class="simpara"/>
   </dd>
  
  
   <dt id="ini.mysqlnd.log-mask">
    <code class="parameter">mysqlnd.log_mask</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Define quais consultas serão registradas. O padrão é 0, que desativa o registro.
     Defina usando um número inteiro e não com constantes PHP. Por exemplo, um valor de
     48 (16 + 32) registrará consultas lentas que usam &#039;nenhum índice bom&#039;
     (SERVER_QUERY_NO_GOOD_INDEX_USED = 16) ou nenhum índice (SERVER_QUERY_NO_INDEX_USED = 32).
     Um valor de 2.043 (1 + 2 + 8 + ... + 1.024) registrará todos os tipos de consulta lenta.
    </span>
    <span class="simpara">
     Os tipos são os seguintes: SERVER_STATUS_IN_TRANS=1, SERVER_STATUS_AUTOCOMMIT=2,
     SERVER_MORE_RESULTS_EXISTS=8, SERVER_QUERY_NO_GOOD_INDEX_USED=16, SERVER_QUERY_NO_INDEX_USED=32,
     SERVER_STATUS_CURSOR_EXISTS=64, SERVER_STATUS_LAST_ROW_SENT=128, SERVER_STATUS_DB_DROPPED=256,
     SERVER_STATUS_NO_BACKSLASH_ESCAPES=512 e SERVER_QUERY_WAS_SLOW=1024.
    </span>
   </dd>
  
  
   <dt id="ini.mysqlnd.mempool-default-size">
    <code class="parameter">mysqlnd.mempool_default_size</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Tamanho padrão do pool de memória mysqlnd, que é usado pelos conjuntos de resultados.
    </span>
   </dd>
  
  
   <dt id="ini.mysqlnd.net-read-timeout">
    <code class="parameter">mysqlnd.net_read_timeout</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     <code class="literal">mysqlnd</code> e a Biblioteca Cliente MySQL,
     <code class="literal">libmysqlclient</code> usam APIs de rede diferentes.
     <code class="literal">mysqlnd</code> usa fluxos PHP, enquanto
     <code class="literal">libmysqlclient</code> usa seus próprio encapsulador em torno
     das chamadas de rede de nível operacional. O PHP, por padrão, define um tempo
     limite de leitura de 60s para fluxos. Isso é definido via
     <var class="filename">php.ini</var>,
     <code class="literal">default_socket_timeout</code>. Esse padrão se aplica a
     todos os fluxos que não definem nenhum outro valor de tempo limite.
     <code class="literal">mysqlnd</code> não define nenhum outro valor e,
     portanto, conexões de consultas de longa execução podem ser desconectadas
     após <code class="literal">default_socket_timeout</code> segundos, resultando
     em uma mensagem de erro <q class="quote">2006 - MySQL Server has gone
     away</q>. A biblioteca cliente MySQL define um tempo limite padrão de
     24 * 3600 segundos (1 dia) e espera que outros tempos limite
     ocorram, como tempos limites de TCP/IP. <code class="literal">mysqlnd</code> agora
     usa o mesmo tempo limite muito longo. O valor é configurável através
     de uma nova configuração <var class="filename">php.ini</var>:
     <code class="literal">mysqlnd.net_read_timeout</code>.
     <code class="literal">mysqlnd.net_read_timeout</code> é usado por qualquer
     extensão (<code class="literal">ext/mysql</code>,
     <code class="literal">ext/mysqli</code>, <code class="literal">PDO_MySQL</code>) que
     usa <code class="literal">mysqlnd</code>. <code class="literal">mysqlnd</code> diz
     aos fluxos PHP para usar <code class="literal">mysqlnd.net_read_timeout</code>.
     Favor observar que pode haver diferenças sutis entre
     <code class="literal">MYSQL_OPT_READ_TIMEOUT</code> da Biblioteca Cliente
     MySQL e fluxos PHP, por exemplo
     <code class="literal">MYSQL_OPT_READ_TIMEOUT</code> está documentado para funcionar
     apenas para conexões TCP/IP e, antes do MySQL 5.1.2, apenas para
     Windows. Os fluxos PHP podem não ter essa limitação. Por favor,
     verifique a documentação dos fluxos, em caso de dúvida.
    </span>
   </dd>
  
  
   <dt id="ini.mysqlnd.net-cmd-buffer-size">
    <code class="parameter">mysqlnd.net_cmd_buffer_size</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     <code class="literal">mysqlnd</code> aloca um buffer interno de comando/rede
     de <code class="literal">mysqlnd.net_cmd_buffer_size</code> (no
     <var class="filename">php.ini</var>) bytes para cada conexão. Se um
     comando do protocolo MySQL cliente-servidor, por exemplo,
     <code class="literal">COM_QUERY</code> (consulta <q class="quote">normal</q>), não
     couber no buffer, <code class="literal">mysqlnd</code> aumentará o
     buffer ao tamanho necessário para enviar o comando. Sempre que o
     buffer for estendido para uma conexão,
     <code class="literal">command_buffer_too_small</code> será incrementado em
     um.
    </span>
    <span class="simpara">
     Se <code class="literal">mysqlnd</code> tiver que aumentar o buffer além do
     tamanho inicial de <code class="literal">mysqlnd.net_cmd_buffer_size</code>
     bytes para quase todas as conexões, você deve considerar aumentar
     o tamanho padrão para evitar realocações.
    </span>
    <span class="simpara">
     O tamanho do buffer padrão é 4.096 bytes, que é o menor valor possível.
    </span>
    <span class="simpara">
     O valor também pode ser definido usando <code class="literal">mysqli_options(link,
     MYSQLI_OPT_NET_CMD_BUFFER_SIZE, size)</code>.
    </span>
   </dd>
  
  
   <dt id="ini.mysqlnd.net-read-buffer-size">
    <code class="parameter">mysqlnd.net_read_buffer_size</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Tamanho máximo do bloco de leitura em bytes ao ler o corpo de um pacote
     de comando MySQL. O protocolo cliente-servidor MySQL encapsula todos
     os seus comandos em pacotes. Os pacotes consistem em um pequeno cabeçalho e
     um corpo com a carga útil real. O tamanho do corpo está codificado no
     cabeçalho. <code class="literal">mysqlnd</code> lê o corpo em pedaços de
     <code class="literal">MIN(header.size, mysqlnd.net_read_buffer_size)</code>
     bytes. Se o corpo de um pacote for maior que
     <code class="literal">mysqlnd.net_read_buffer_size</code> bytes,
     <code class="literal">mysqlnd</code> terá que chamar <code class="literal">read()</code>
     múltiplas vezes.
    </span>
    <span class="simpara">
     O valor também pode ser definido usando <code class="literal">mysqli_options(link,
     MYSQLI_OPT_NET_READ_BUFFER_SIZE, size)</code>.
    </span>
   </dd>
  
  
   <dt id="ini.mysqlnd.sha256-server-public-key">
    <code class="parameter">mysqlnd.sha256_server_public_key</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Relacionado ao plug-in de autenticação SHA-256. Arquivo com a chave RSA
     pública do servidor MySQL.
    </span>
    <span class="simpara">
     Os clientes podem omitir a configuração de uma chave RSA pública, especificar a chave através
     desta configuração do PHP ou definir a chave em tempo de execução usando
     <span class="function"><a href="mysqli.options.php" class="function">mysqli_options()</a></span>. Se nenhum arquivo de chave RSA pública for
     fornecido pelo cliente, a chave será trocada como parte do
     procedimento de autenticação padrão do plug-in de autenticação SHA-256.
    </span>
   </dd>
  
  
   <dt id="ini.mysqlnd.trace-alloc">
    <code class="parameter">mysqlnd.trace_alloc</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
    </span>
   </dd>
  
  
   <dt id="ini.mysqlnd.fetch_data_copy">
    <code class="parameter">mysqlnd.fetch_data_copy</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Impõe cópia de conjuntos de resultados dos buffers internos
     do conjunto de resultados em variáveis ​​PHP em vez de usar a referência
     padrão e a lógica de cópia na gravação. Por favor, veja as
     <a href="mysqlnd.memory.php" class="link">notas de implementação de gerenciamento de memória</a>
     para mais detalhes.
    </span>
    <span class="simpara">
     Copiar conjuntos de resultados em vez de fazer referência a variáveis ​​PHP
     permite liberar a memória ocupada pelas variáveis ​​PHP anteriormente.
     Dependendo do código da API do usuário, das consultas reais do banco de dados e do
     tamanho de seus conjuntos de resultados, isso pode reduzir o consumo de memória
     do mysqlnd.
    </span>
    <span class="simpara">
     Não defina se estiver usando PDO_MySQL. PDO_MySQL ainda não foi atualizado para suportar
     o novo modo de busca.
    </span>
   <blockquote class="note"><p><strong class="note">Nota</strong>: 
    <span class="simpara">Removido a partir do PHP 8.1.0</span>
   </p></blockquote>
   </dd>
  
 </dl>
</div>
<?php manual_footer($setup); ?>