Signatur
Beschreibung
ocilogon() ist ein veralteter Alias für oci_connect() und verhält sich identisch zu dieser Funktion. Sie stellt eine Verbindung zu einem Oracle-Datenbankserver her und gibt bei Erfolg eine Verbindungsressource zurück, die für nachfolgende OCI-Funktionsaufrufe verwendet werden kann.
Da es sich um einen Alias handelt, sollte in neuem Code stets oci_connect() verwendet werden. ocilogon() ist seit PHP 5.4.0 als veraltet (deprecated) markiert und wurde in PHP 8.0 vollständig entfernt. Der Einsatz in modernem Code ist daher nicht empfehlenswert.
Verbindungen, die mit ocilogon() erstellt werden, sind persistente Verbindungen, wenn dieselben Zugangsdaten bereits verwendet wurden — Oracle pooled in diesem Fall die Verbindung intern. Zum expliziten Schließen dient oci_close().
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $username Pflicht | string | Der Oracle-Benutzername für die Datenbankverbindung. | |
| $password Pflicht | string | Das Passwort des angegebenen Oracle-Benutzers. | |
| $connection_string | string | Optionaler Oracle-Verbindungsstring (z. B. //hostname/service_name oder ein TNS-Name). Wird er weggelassen, wird die Umgebungsvariable ORACLE_SID verwendet. |
|
| $encoding | string | Optionaler Zeichensatz (z. B. AL32UTF8), der für die Verbindung verwendet werden soll. |
|
| $session_mode | int | OCI_DEFAULT | Verbindungsmodus, z. B. OCI_SYSOPER oder OCI_SYSDBA für privilegierte Verbindungen. |
Rückgabewert
false zurückgegeben.Beispiele
Einfache Verbindung mit ocilogon (Legacy-Code)
<?php
// ACHTUNG: ocilogon() ist deprecated (PHP 5.4+) und in PHP 8.0 entfernt.
// Nur in Legacy-Codebasen mit PHP 5.x anzutreffen.
$conn = ocilogon('scott', 'tiger', '//localhost/orcl');
if (!$conn) {
$e = ocierror();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$stmt = ociparse($conn, 'SELECT SYSDATE FROM DUAL');
ociexecute($stmt);
while (ocifetchinto($stmt, $row, OCI_ASSOC)) {
echo 'Aktuelles Datum: ' . $row['SYSDATE'] . PHP_EOL;
}
ocilogoff($conn);
Migration zu oci_connect (empfohlener moderner Code)
<?php
// Empfehlung: statt ocilogon() die moderne oci_connect() verwenden
$conn = oci_connect('scott', 'tiger', '//localhost/orcl', 'AL32UTF8');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$stmt = oci_parse($conn, 'SELECT SYSDATE FROM DUAL');
oci_execute($stmt);
while (($row = oci_fetch_assoc($stmt)) !== false) {
echo 'Aktuelles Datum: ' . $row['SYSDATE'] . PHP_EOL;
}
oci_close($conn);
// Wichtig · Fallstricke
Deprecated seit PHP 5.4.0, entfernt in PHP 8.0.0: ocilogon() darf in neuem Code nicht mehr verwendet werden. Bestehender Code sollte auf oci_connect() migriert werden.
Sicherheitshinweis: Zugangsdaten (Benutzername und Passwort) sollten niemals im Quellcode hartcodiert werden. Verwende Konfigurationsdateien außerhalb des Webroot-Verzeichnisses oder Umgebungsvariablen.
Alle veralteten OCI-Alias-Funktionen (z. B. ociparse, ociexecute, ocilogoff) wurden ebenfalls in PHP 8.0 entfernt.