Start · Sprachen · PHP · Referenz · oci_server_version

oci_server_version

Funktion

Gibt einen String mit der Versionsinformation des verbundenen Oracle-Datenbankservers zurück.

seit PHP 5.0.0 Kategorie: db

Signatur

oci_server_version(resource $connection): string|false

Beschreibung

oci_server_version() liefert einen Versionsstring des Oracle-Datenbankservers, mit dem die übergebene Verbindungsressource verbunden ist. Der zurückgegebene String enthält typischerweise Informationen wie die Hauptversionsnummer, Release-Nummer sowie weitere Build-Details des Oracle-Servers.

Diese Funktion ist nützlich, wenn die Anwendung auf bestimmte Oracle-Features angewiesen ist, die erst ab einer bestimmten Datenbankversion verfügbar sind. So können zur Laufzeit Kompatibilitätsprüfungen durchgeführt und das Verhalten entsprechend angepasst werden.

Der zurückgegebene String hat kein festes maschinenlesbares Format, weshalb für Vergleiche und Versionsprüfungen eine Zerlegung per regulärem Ausdruck empfohlen wird. Im Fehlerfall – etwa bei einer ungültigen Verbindungsressource – gibt die Funktion false zurück.

Parameter

Name Typ Default Beschreibung
$connection Pflicht resource Eine gültige OCI8-Verbindungsressource, die zuvor mit oci_connect(), oci_pconnect() oder oci_new_connect() erzeugt wurde.

Rückgabewert

Typ
string|false
Beschreibung
Gibt einen String mit der Versionsinformation des Oracle-Datenbankservers zurück, z. B. Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production. Im Fehlerfall wird false zurückgegeben.

Beispiele

Datenbankversion ausgeben

<?php
$conn = oci_connect('benutzername', 'passwort', 'localhost/XE');

if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$version = oci_server_version($conn);
echo 'Oracle Server Version: ' . $version . PHP_EOL;

oci_close($conn);
Oracle Server Version: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

Versionsnummer per regulärem Ausdruck extrahieren und vergleichen

<?php
$conn = oci_connect('benutzername', 'passwort', 'localhost/XE');

if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$versionString = oci_server_version($conn);

// Hauptversionsnummer extrahieren
if (preg_match('/Release (\d+)\./', $versionString, $matches)) {
    $major = (int) $matches[1];
    if ($major >= 19) {
        echo 'Oracle 19c oder neuer – erweiterte Features verfügbar.' . PHP_EOL;
    } else {
        echo 'Ältere Oracle-Version – eingeschränkte Features.' . PHP_EOL;
    }
} else {
    echo 'Version konnte nicht ermittelt werden.' . PHP_EOL;
}

oci_close($conn);
Oracle 19c oder neuer – erweiterte Features verfügbar.

// Wichtig · Fallstricke

Hinweis: Das Format des zurückgegebenen Versionsstrings ist nicht garantiert einheitlich und kann je nach Oracle-Version variieren. Verlasse dich daher nicht auf eine feste Struktur, sondern nutze reguläre Ausdrücke zum Parsen.

Die Funktion erfordert, dass die OCI8-Erweiterung (ext/oci8) in PHP aktiviert ist und eine gültige Oracle-Client-Bibliothek installiert ist. Ist keine Verbindung herstellbar, gibt die Funktion false zurück und ein Fehler kann über oci_error() abgerufen werden.