<?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 => 'de',
  ),
  'this' => 
  array (
    0 => 'oci8.configuration.php',
    1 => 'Laufzeit-Konfiguration',
    2 => 'Laufzeit-Konfiguration',
  ),
  'up' => 
  array (
    0 => 'oci8.setup.php',
    1 => 'Installation/Konfiguration',
  ),
  'prev' => 
  array (
    0 => 'oci8.test.php',
    1 => 'Testing',
  ),
  'next' => 
  array (
    0 => 'oci8.constants.php',
    1 => 'Vordefinierte Konstanten',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    '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">Laufzeit-Konfiguration</h2>
 <p class="simpara">Das Verhalten dieser Funktionen wird
durch Einstellungen in der <var class="filename">php.ini</var> beeinflusst.</p>
 <p class="para">
  <table class="doctable table">
   <caption><strong>OCI8-Konfigurationsoptionen</strong></caption>
   
    <thead>
     <tr>
      <th>Name</th>
      <th>Standard</th>
      <th>Veränderbar</th>
      <th>Changelog</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>Ab PHP 8.1.0 veraltet.</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>Verfügbar seit 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">Hier eine kurze Erklärung der
Konfigurationsoptionen:</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">
      Dieser benutzerdefinierte Text sollte immer festgelegt werden, wenn
      Oracle Database Resident Connection Pooling (DRCP) verwendet wird. Er
      ermöglicht die Partitionierung des DRCP-Verbindungspools, sodass
      persistente OCI8-Verbindungen einer Anwendung Datenbanksessions aus
      einem vorherigen PHP-Skript wiederverwenden können, was eine bessere
      Skalierbarkeit ermöglicht. Wenn eine Anwendung einen
      Datenbankpool-Prozess verwendet, der zuvor mit einer anderen
      Verbindungsklasse verwendet wurde, werden die Session-Einstellungen,
      z. B. das standardmäßige Oracle-Datumsformat, zurückgesetzt. Dies
      verhindert eine versehentliche gemeinsame Nutzung von Informationen
      zwischen verschiedenen Anwendungen.
     </p>
     <p class="para">
      Der Wert kann zur Laufzeit vor dem Aufbau der Verbindung mit
      <span class="function"><a href="function.ini-set.php" class="function">ini_set()</a></span> gesetzt werden.
     </p>
     <p class="para">
      Um DRCP zu verwenden, muss OCI8 gegen Bibliotheken von Oracle
      11<em>g</em> (oder höher) gelinkt sein und die Datenbank
      muss Oracle 11<em>g</em> (oder höher) sein. Der
      DRCP-Verbindungspool muss in der Datenbank aktiviert sein, die
      <code class="literal">oci8.connection_class</code> muss für alle Webserver, auf
      denen dieselbe Anwendung läuft, auf dieselbe Zeichenkette gesetzt werden
      und die OCI8-Verbindungszeichenkette muss angeben, dass ein Server mit
      einem Pool verwendet werden soll. Die Anwendung sollte persistente
      Verbindungen verwenden.
     </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">
      Diese Option legt die Standard-Anzahl der zusätzlichen Zeilen fest, die
      automatisch abgerufen und zwischengespeichert werden, wenn eine
      Low-Level-Anforderung von Daten aus der Datenbank erfolgt. Das Setzen
      des Wertes <code class="literal">0</code> deaktiviert das Prefetching.
     </p>
     <p class="para">
      Der Prefetch-Wert ändert nicht die Anzahl der Zeilen, die Funktionen wie
      <span class="function"><a href="function.oci-fetch-array.php" class="function">oci_fetch_array()</a></span> an den Benutzer zurückgeben; das
      Prefetching und Caching von Zeilen wird intern in OCI8 verwaltet.
     </p>
     <p class="para">
      Der Wert kann pro Anweisung mit <span class="function"><a href="function.oci-set-prefetch.php" class="function">oci_set_prefetch()</a></span>
      vor der Ausführung der Anweisung gesetzt werden.
     </p>
     <p class="para">
      Bei Verwendung von Oracle Database 12<em>c</em> (oder höher)
      kann der von PHP festgelegte Prefetch-Wert von Oracles
      Client-Konfigurationsdatei <code class="literal">oraaccess.xml</code>
      überschrieben werden. Siehe in der Oracle-Dokumentation für weitere
      Details.
     </p>
     <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
      <span class="simpara">
       Ein größerer Prefetch kann zu einer verbesserten Leistung führen,
       allerdings auf Kosten eines erhöhten Speicherverbrauchs. Bei Abfragen,
       die große Datenmengen zurückgeben, kann der Leistungsvorteil deutlich
       sein.
      </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">
      Wenn diese Option aktiv ist (<code class="literal">On</code>), kann PHP über FAN-
      (Fast Application Notification) Datenbankereignisse benachrichtigt
      werden.
     </p>
     <p class="para">
      Ohne FAN kann es bei einem plötzlichen Ausfall einer Datenbankinstanz
      oder eines Rechnerknotens dazu kommen, dass PHP-Anwendungen beim Warten
      auf eine Datenbankantwort hängen bleiben, bis der TCP-Timeout abgelaufen
      ist. Mit FAN-Ereignissen werden PHP-Anwendungen schnell über Fehler
      informiert, die Datenbankverbindungen betreffen. Die OCI8-Erweiterung
      entfernt unbrauchbare Verbindungen aus dem persistenten
      Verbindungscache.
     </p>
     <p class="para">
      Wenn diese Option verwendet wird (<code class="literal">On</code>), muss die
      Datenbank auch konfiguriert werden, FAN-Ereignisse zu melden.
     </p>
     <p class="para">
      Die FAN-Unterstützung ist verfügbar, wenn OCI8 gegen Bibliotheken von
      Oracle 10<em>g</em>R2 (oder höher) gelinkt ist und mit einer
      Oracle-Datenbank 10<em>g</em>R2 (oder höher) verbunden ist.
     </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">
      Die maximale Anzahl persistenter OCI8-Verbindungen pro PHP-Prozess. Wenn
      diese Option auf -1 gesetzt ist, ist die Anzahl der Verbindungen nicht
      limitiert.
     </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">
      Diese Option kontrolliert das Verhalten der Funktion
      <span class="function"><a href="function.oci-close.php" class="function">oci_close()</a></span>. Wenn sie aktiviert wird, zeigt der
      Aufruf von <span class="function"><a href="function.oci-close.php" class="function">oci_close()</a></span> keine Reaktion; die Verbindung
      wird nicht vor dem Ende des Skripts beendet. Die Funktion existiert nur
      aus Gründen der Abwärtskompatibilität. Wenn Sie in eine Situation
      kommen, in der Sie diese Option aktivieren müssen, sei Ihnen
      <em>dringend empfohlen</em>, stattdessen alle
      <span class="function"><a href="function.oci-close.php" class="function">oci_close()</a></span>-Aufrufe aus Ihrer Anwendung zu entfernen.
     </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">
      Die maximale Dauer (in Sekunden), über die der angegebene Prozess eine
      ungenutzte persistente Verbindung aufrechterhalten darf. Ist diese
      Option auf -1 gesetzt, werden ungenutzte persistente Verbindungen
      aufrecht erhalten, bis der PHP-Prozess endet oder die Verbindung mittels
      <span class="function"><a href="function.oci-close.php" class="function">oci_close()</a></span> ausdrücklich geschlossen wird.
     </p>
     <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
      <span class="simpara">
       In PHP ist das Ablaufen ungenutzter Ressourcen nicht alarmgesteuert. Es
       erfolgt, wenn PHP die Verarbeitung eines Skripts beendet und den
       Zeitstempel der zuletzt verwendeten Ressourcen überprüft. Dies führt zu
       dem Paradoxon, dass ungenutzte Verbindungen nur geschlossen werden
       können, wenn es im PHP-Prozess irgendeine Aktivität gibt (wenn auch
       nicht unbedingt OCI8-bezogen). Wenn es mehr als einen PHP-Prozess gibt,
       muss jeder Prozess einzeln aktiviert werden, um den Ablauf der seiner
       ungenutzten Ressourcen auszulösen. Die Einführung von Database Resident
       Connection Pooling (DRCP) in Oracle 11<em>g</em> behebt die
       Speicher- und Ressourcenprobleme, die
       <code class="literal">oci8.max_persistent</code> und
       <code class="literal">oci8.persistent_timeout</code> zuvor versuchten, zu
       beheben.
      </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">
      Die Dauer (in Sekunden), die vergehen muss, bevor ein Ping während eines
      <span class="function"><a href="function.oci-pconnect.php" class="function">oci_pconnect()</a></span> abgeschickt wird. Ein Ping stellt
      sicher, dass die Datenbankverbindung gültig ist. Wenn dies auf 0 gesetzt
      ist, werden persistente Verbindungen bei jeder Verwendung von
      <span class="function"><a href="function.oci-pconnect.php" class="function">oci_pconnect()</a></span> gepingt. Um Pings völlig zu
      deaktivieren, muss die Option auf -1 gesetzt werden.
     </p>
     <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
      <span class="simpara">
       Das Deaktivieren von Pings lässt <span class="function"><a href="function.oci-pconnect.php" class="function">oci_pconnect()</a></span> mit
       höchster Effizienz arbeiten, kann aber dazu führen, dass PHP
       unbrauchbare Verbindungen nicht bemerkt, die z. B. entstehen können,
       wenn das Netzwerk unterbrochen wird oder der Oracle-Server bei
       bestehender Verbindung heruntergefahren wird. Konsultieren Sie die
       Dokumentation zu <span class="function"><a href="function.oci-pconnect.php" class="function">oci_pconnect()</a></span>, um weitere
       Informationen zu erhalten.
      </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">
      Dies ist ein Optimierungsparameter, der die interne Pufferung von
      LOB-Daten betrifft. Wenn dieser Wert erhöht wird, kann dies die Leistung
      beim Abrufen von kleineren LOBs verbessern, indem die Anzahl der Umläufe
      (Roundtrips) zwischen PHP und der Datenbank reduziert wird. Die
      Speichernutzung wird sich ändern.
     </p>
     <p class="para">
      Der Wert betrifft LOBs, die als Instanzen von OCILob zurückgegeben
      werden und auch solche die unter Verwendung von
      <strong><code><a href="oci8.constants.php#constant.oci-return-lobs">OCI_RETURN_LOBS</a></code></strong> zurückgegeben werden.
     </p>
     <p class="para">
      Der Wert kann bei jeder Anweisung mittels
      <span class="function"><a href="function.oci-set-prefetch-lob.php" class="function">oci_set_prefetch_lob()</a></span> vor der Ausführung der
      Anweisung festgelegt werden.
     </p>
     <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
      <span class="simpara">
       Zu verwenden mit Oracle Database 12.2 oder höher.
      </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">
      Diese Option aktiviert privilegierte Verbindungen unter Verwendung
      externer Berechtigungen (<strong><code><a href="oci8.constants.php#constant.oci-sysoper">OCI_SYSOPER</a></code></strong> oder
      <strong><code><a href="oci8.constants.php#constant.oci-sysdba">OCI_SYSDBA</a></code></strong>).
     </p>
     <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
      <span class="simpara">
       Wenn diese Option auf <code class="literal">On</code> gesetzt ist, können
       Webserver-Skripte, die über die entsprechenden Systembenutzerrechte
       verfügen, eine Verbindung zur Datenbank mit diesen Rechten herstellen,
       ohne ein Passwort für die Datenbank angeben zu müssen. Dies kann ein
       Sicherheitsrisiko darstellen.
      </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">
      Diese Option aktiviert den Anweisungs-Cache und definiert, wie viele
      Anweisungen gecacht werden. Um das Caching zu deaktivieren, muss die
      Option auf 0 gesetzt werden.
     </p>
     <p class="para">
      Durch das Anweisungs-Caching entfällt die Notwendigkeit, den
      Anweisungstext an die Datenbank zu übermitteln, und es müssen auch keine
      Metadaten über die Anweisung zurück an PHP übertragen werden. Dies kann
      die Gesamtleistung des Systems in Anwendungen, die Anweisungen während
      der Lebensdauer einer Verbindung wiederverwenden, deutlich verbessern.
      Einige zusätzliche Datenbank-&quot;Cursor&quot; werden möglicherweise
      unter der Annahme offen gehalten, dass Anweisungen wiederverwendet
      werden.
     </p>
     <p class="para">
      Setzen Sie diesen Wert auf die Größe der aktuellen Menge an Anweisungen,
      die von Ihrer Anwendung verwendet wird. Die Einstellung eines zu kleinen
      Wertes kann dazu führen, dass Anweisungen aus dem Cache entfernt werden,
      bevor sie wiederverwendet werden.
     </p>
     <p class="para">
      Diese Option ist vor allem bei persistenten Verbindungen von Nutzen.
     </p>
     <p class="para">
      Wenn Sie Oracle Database 12<em>c</em> (oder höher)
      verwenden, kann dieser Wert von Oracles Client-Datei
      <code class="literal">oraaccess.xml</code> überschrieben und automatisch
      eingestellt werden. Siehe die Oracle-Dokumentation für weitere Details.
     </p>
    </dd>
   
  </dl>
 </p>
</div><?php manual_footer($setup); ?>