<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/oci8.setup.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'oci8.configuration.php',
    1 => 'Configuraci&oacute;n en tiempo de ejecuci&oacute;n',
    2 => 'Configuraci&oacute;n en tiempo de ejecuci&oacute;n',
  ),
  'up' => 
  array (
    0 => 'oci8.setup.php',
    1 => 'Instalaci&oacute;n/Configuraci&oacute;n',
  ),
  'prev' => 
  array (
    0 => 'oci8.test.php',
    1 => 'Pruebas',
  ),
  'next' => 
  array (
    0 => 'oci8.constants.php',
    1 => 'Constantes predefinidas',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/oci8/ini.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="oci8.configuration" class="section">
 <h2 class="title">Configuración en tiempo de ejecución</h2>
 <p class="simpara">El comportamiento de estas funciones es
afectado por la configuración en el archivo <var class="filename">php.ini</var>.</p>
 <p class="para">
  <table class="doctable table">
   <caption><strong>Opciones de configuración OCI8</strong></caption>
   
    <thead>
     <tr>
      <th>Nombre</th>
      <th>Por defecto</th>
      <th>Cambiable</th>
      <th>Historial de cambios</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><a href="oci8.configuration.php#ini.oci8.connection-class" class="link">oci8.connection_class</a></td>
      <td>&quot;&quot;</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="oci8.configuration.php#ini.oci8.default-prefetch" class="link">oci8.default_prefetch</a></td>
      <td>&quot;100&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="oci8.configuration.php#ini.oci8.events" class="link">oci8.events</a></td>
      <td>Off</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="oci8.configuration.php#ini.oci8.max-persistent" class="link">oci8.max_persistent</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="oci8.configuration.php#ini.oci8.old-oci-close-semantics" class="link">oci8.old_oci_close_semantics</a></td>
      <td>Off</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Deprecado a partir de PHP 8.1.0.</td>
     </tr>

     <tr>
      <td><a href="oci8.configuration.php#ini.oci8.persistent-timeout" class="link">oci8.persistent_timeout</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="oci8.configuration.php#ini.oci8.ping-interval" class="link">oci8.ping_interval</a></td>
      <td>&quot;60&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="oci8.configuration.php#ini.oci8.prefetch-lob-size" class="link">oci8.prefetch_lob_size</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>Disponible a partir de PECL OCI8 3.2.</td>
     </tr>

     <tr>
      <td><a href="oci8.configuration.php#ini.oci8.privileged-connect" class="link">oci8.privileged_connect</a></td>
      <td>Off</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="oci8.configuration.php#ini.oci8.statement-cache-size" class="link">oci8.statement_cache_size</a></td>
      <td>&quot;20&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>

    </tbody>
   
  </table>

 </p>

 <p class="para">Aquí hay una aclaración sobre
el uso de las directivas de configuración.</p>

 <p class="para">
  <dl>
   
    <dt id="ini.oci8.connection-class">
     <code class="parameter">oci8.connection_class</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      El texto definido por el usuario es utilizado por las conexiones del
      pool de conexiones residente de la base de datos Oracle 11<em>g</em>
      para particionar el pool. Esto permite a las conexiones persistentes
      OCI8 de una aplicación reutilizar las sesiones a la base de datos
      desde un script anterior, permitiendo así una mejor eficiencia.
      Cuando una aplicación utiliza un proceso de base de datos previamente
      utilizado con una clase de conexión diferente, las configuraciones
      de la sesión, como el formato de fecha por defecto de Oracle,
      serán reinicializadas. Este comportamiento permite evitar compartir
      accidentalmente información entre las diferentes aplicaciones.
     </p>
     <p class="para">
      El valor puede ser definido en tiempo de ejecución gracias a la función
      <span class="function"><a href="function.ini-set.php" class="function">ini_set()</a></span>, llamada antes de la conexión.
     </p>
     <p class="para">
      Para utilizar DRCP, OCI8 debe estar vinculado con las bibliotecas Oracle 11<em>g</em>
      y la base de datos debe ser Oracle 11<em>g</em>. El pool de conexión debe
      estar activado en la base de datos, la opción de configuración
      <code class="literal">oci8.connection_class</code> debe valer la misma cadena
      para todos los servidores web utilizando la misma aplicación, y la cadena
      de conexión OCI8 debe especificar el uso de un servidor con pool.
     </p>
    </dd>
   
   
    <dt id="ini.oci8.default-prefetch">
     <code class="parameter">oci8.default_prefetch</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Esta opción define el número por defecto de líneas adicionales
      que serán recuperadas y almacenadas en caché automáticamente cada vez
      que se realice una consulta de bajo nivel recuperando datos desde la base
      de datos. Definir un valor de
      <code class="literal">0</code> permite desactivar esta funcionalidad.
     </p>
     <p class="para">
      El valor de pre-carga no altera el número de líneas que funciones como
      <span class="function"><a href="function.oci-fetch-array.php" class="function">oci_fetch_array()</a></span> devolverán al usuario; la pre-carga y
      el almacenamiento en caché de líneas es gestionado internamente por OCI8.
     </p>
     <p class="para">
      El valor puede ser definido para cada consulta, ejecutando la función
      <span class="function"><a href="function.oci-set-prefetch.php" class="function">oci_set_prefetch()</a></span> antes de ejecutar la consulta.
     </p>
     <p class="para">
      Al utilizar Oracle 12<em>c</em> o posterior, el valor de
      pre-carga definido por PHP puede ser sobreescrito por el archivo de
      configuración del cliente Oracle: <code class="literal">oraaccess.xml</code>.
      Consulte la documentación de Oracle para más información.
     </p>
     <blockquote class="note"><p><strong class="note">Nota</strong>: 
      <span class="simpara">
       Si se introduce un valor demasiado grande, esto puede conducir a
       una mejora de las prestaciones, a costa
       del uso de memoria. Para consultas que devuelven un gran número de datos,
       la ganancia de rendimiento puede ser realmente significativa.
      </span>
     </p></blockquote>
    </dd>
   
   
    <dt id="ini.oci8.events">
     <code class="parameter">oci8.events</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      Definir esta opción a <code class="literal">On</code> permite a PHP ser
      notificado de los eventos de base de datos FAN (<code class="literal">Fast Application
      Notification</code>).
     </p>
     <p class="para">
      Sin FAN, cuando una instancia de la base de datos o un nodo de máquinas
      falla bruscamente, las aplicaciones PHP pueden bloquearse esperando
      una respuesta de la base de datos, hasta el final del tiempo de espera TCP.
      Con los eventos FAN, las aplicaciones PHP son notificadas rápidamente
      de los errores que afectan a las conexiones a la base de datos. La extensión
      OCI8 limpiará las conexiones inutilizables en la caché de conexiones persistentes.
     </p>
     <p class="para">
      Cuando se utiliza <code class="literal">On</code> como valor, la base de datos
      también debe estar configurada para emitir los eventos FAN.
     </p>
     <p class="para">
      El soporte de FAN está disponible cuando OCI8 está vinculado a bibliotecas
      Oracle 10<em>g</em>R2 (y posteriores) y conectado a una base de datos Oracle
      10<em>g</em>R2 (y posteriores).
     </p>
    </dd>
   
   
    <dt id="ini.oci8.max-persistent">
     <code class="parameter">oci8.max_persistent</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      El número máximo de conexiones persistentes OCI8 por proceso PHP.
      Definir esta opción a -1 significa que no hay límite.
     </p>
    </dd>
   
   
    <dt id="ini.oci8.old-oci-close-semantics">
     <code class="parameter">oci8.old_oci_close_semantics</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      Esta opción controla el comportamiento de la función <span class="function"><a href="function.oci-close.php" class="function">oci_close()</a></span>.
      Activar esta opción significa que <span class="function"><a href="function.oci-close.php" class="function">oci_close()</a></span> no hará nada;
      la conexión no será cerrada hasta que finalice el script. Esto es únicamente
      para asegurar la compatibilidad ascendente. Si se piensa que es necesario
      activar esta opción, se <em>recomienda encarecidamente</em>
      eliminar las llamadas a la función <span class="function"><a href="function.oci-close.php" class="function">oci_close()</a></span> de la aplicación
      en lugar de activar esta opción.
     </p>
    </dd>
   
   
    <dt id="ini.oci8.persistent-timeout">
     <code class="parameter">oci8.persistent_timeout</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      El tiempo máximo (en segundos) que un proceso PHP dado está autorizado
      a mantener una conexión persistente. Definir esta opción a -1 significa
      que las conexiones persistentes serán siempre mantenidas
      mientras el proceso PHP no termine o la conexión sea explícitamente
      cerrada usando la función <span class="function"><a href="function.oci-close.php" class="function">oci_close()</a></span>.
     </p>
     <blockquote class="note"><p><strong class="note">Nota</strong>: 
      <span class="simpara">
       En PHP, la expiración de los recursos persistentes no produce
       ninguna alerta. Ocurre cuando PHP termina un script y
       verifica el timestamp del último uso del recurso.
       Además, las conexiones persistentes solo pueden ser cerradas
       durante alguna actividad (no necesaria en OCI8) en el proceso PHP.
       Si hay más de un proceso PHP, entonces cada uno de ellos
       debe ser activado manualmente
       para iniciar la expiración de sus propios recursos.
       La introducción del pool de conexiones persistentes (DRCP) en
       Oracle 11<em>g</em> resuelve los problemas de memoria y recursos, que
       las opciones <code class="literal">oci8.max_persistent</code> y
       <code class="literal">oci8.persistent_timeout</code> intentaron resolver previamente.
      </span>
     </p></blockquote>
    </dd>
   
   
    <dt id="ini.oci8.ping-interval">
     <code class="parameter">oci8.ping_interval</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      El tiempo máximo (en segundos) a esperar antes de enviar un ping durante
      <span class="function"><a href="function.oci-pconnect.php" class="function">oci_pconnect()</a></span>. Cuando se define a 0, las conexiones
      persistentes serán verificadas en cada reutilización. Para desactivar
      completamente los pings, defina esta opción a -1.
     </p>
     <blockquote class="note"><p><strong class="note">Nota</strong>: 
      <span class="simpara">
       Desactivar los pings hace que las llamadas a <span class="function"><a href="function.oci-pconnect.php" class="function">oci_pconnect()</a></span>
       sean altamente rentables, pero impide a PHP detectar problemas de conexión,
       como problemas de red, o si el servidor Oracle ha sido apagado desde la
       conexión de PHP, hasta que la conexión no sea utilizada más tarde en el script.
       Consulte la documentación de la función
       <span class="function"><a href="function.oci-pconnect.php" class="function">oci_pconnect()</a></span> para más información.
      </span>
     </p></blockquote>
    </dd>
   
   
    <dt id="ini.oci8.prefetch-lob-size">
     <code class="parameter">oci8.prefetch_lob_size</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Se trata de un parámetro de ajuste que afecta al almacenamiento en memoria
      interna de los datos LOB. Aumentar este valor puede mejorar el rendimiento
      de recuperación de pequeños LOB reduciendo los intercambios entre PHP y la base de datos.
      El uso de la memoria cambiará.
     </p>
     <p class="para">
      El valor afecta a los LOB devueltos como instancias OCILob así como a aquellos
      devueltos usando <strong><code><a href="oci8.constants.php#constant.oci-return-lobs">OCI_RETURN_LOBS</a></code></strong>.
     </p>
     <p class="para">
      El valor puede ser definido por instrucción
      con <span class="function"><a href="function.oci-set-prefetch-lob.php" class="function">oci_set_prefetch_lob()</a></span> antes de ejecutar la instrucción.
     </p>
     <blockquote class="note"><p><strong class="note">Nota</strong>: 
      <span class="simpara">
       Para usar con Oracle Database 12.2 o posterior.
      </span>
     </p></blockquote>
    </dd>
   
   
    <dt id="ini.oci8.privileged-connect">
     <code class="parameter">oci8.privileged_connect</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      Esta opción activa las conexiones privilegiadas utilizando derechos externos
      (<strong><code><a href="oci8.constants.php#constant.oci-sysoper">OCI_SYSOPER</a></code></strong>, <strong><code><a href="oci8.constants.php#constant.oci-sysdba">OCI_SYSDBA</a></code></strong>).
     </p>
     <blockquote class="note"><p><strong class="note">Nota</strong>: 
      <span class="simpara">
       Definir este valor a <code class="literal">On</code>
       permite a los scripts del servidor web ejecutando los privilegios de usuario
       del sistema apropiados conectarse a la base de datos utilizando
       estos privilegios, sin necesidad de proporcionar una contraseña a
       la base de datos. Esto puede tener consecuencias en términos de
       seguridad.
      </span>
     </p></blockquote>
    </dd>
   
   
    <dt id="ini.oci8.statement-cache-size">
     <code class="parameter">oci8.statement_cache_size</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Esta opción activa la caché de consultas, y especifica el número de consultas
      a almacenar en caché. Para desactivar la caché de consultas, defina esta
      opción a 0.
     </p>
     <p class="para">
      La caché de consultas permite no tener que transmitir
      el texto de la consulta a la base de datos, así como no tener que
      transmitir metadatos sobre la consulta a PHP.
      Esto permite aumentar significativamente el rendimiento del sistema
      en las aplicaciones, reutilizando las consultas durante toda
      la vida de la conexión. Los &quot;cursores&quot; de base de datos
      también pueden ayudar si se parte de la base de que las consultas serán
      reutilizadas.
     </p>
     <p class="para">
      Defina este valor al tamaño de su conjunto de consultas comunes
      utilizadas por su aplicación. Definir un valor demasiado pequeño
      puede hacer que sus consultas sean eliminadas de la caché antes de que
      sean utilizadas.
     </p>
     <p class="para">
      Esta opción es más utilizada con las conexiones persistentes.
     </p>
     <p class="para">
      Con la base de datos Oracle 12<em>c</em>, este valor
      puede ser sobreescrito y ajustado automáticamente por el archivo
      <code class="literal">oraaccess.xml</code> del cliente Oracle. Consulte la documentación
      de Oracle para más explicaciones.
     </p>
    </dd>
   
  </dl>
 </p>
</div><?php manual_footer($setup); ?>