Start · Sprachen · PHP · Referenz · oci_client_version

oci_client_version

Funktion

Gibt die Versionsnummer der installierten Oracle-Client-Bibliothek (OCI8) als Zeichenkette zurück.

seit PHP 5.3.7 Kategorie: db

Signatur

oci_client_version(): string

Beschreibung

oci_client_version() liefert die Versionszeichenkette der Oracle Instant Client- bzw. Full-Client-Bibliothek, die PHP beim Kompilieren oder zur Laufzeit lädt. Dies ist die sogenannte Client-seitige Bibliotheksversion und unterscheidet sich ggf. von der Version des Oracle-Datenbankservers, mit dem eine Verbindung besteht.

Die zurückgegebene Zeichenkette hat typischerweise das Format major.minor.update.patch.port_update, z. B. 19.19.0.0.0. Mit diesem Wert lassen sich zur Laufzeit Kompatibilitätsprüfungen durchführen, bevor bestimmte OCI8-Features genutzt werden, die eine Mindestversion des Clients voraussetzen.

Im Gegensatz zu oci_server_version(), die eine aktive Datenbankverbindung benötigt, arbeitet oci_client_version() vollständig ohne Verbindung. Die Funktion ist daher auch dann aufrufbar, wenn kein Datenbankserver erreichbar ist, was sie für Umgebungsdiagnosen und Deployment-Prüfungen besonders geeignet macht.

Rückgabewert

Typ
string
Beschreibung
Gibt die Version der Oracle-Client-Bibliothek als Zeichenkette zurück, z. B. "19.19.0.0.0". Es wird immer ein Wert zurückgegeben, solange die OCI8-Erweiterung korrekt geladen ist.

Beispiele

Client-Version ausgeben

<?php
$version = oci_client_version();
echo 'Oracle-Client-Version: ' . $version . PHP_EOL;
// Beispielausgabe: Oracle-Client-Version: 19.19.0.0.0
Oracle-Client-Version: 19.19.0.0.0

Versionsabhängige Funktionalität prüfen

<?php
// Mindestversion 12.1 voraussetzen
$version = oci_client_version();
$parts   = explode('.', $version);
$major   = (int)$parts[0];
$minor   = (int)($parts[1] ?? 0);

if ($major > 12 || ($major === 12 && $minor >= 1)) {
    echo 'Oracle-Client 12.1+ erkannt – erweiterte Features verfügbar.' . PHP_EOL;
} else {
    echo 'Warnung: Älterer Oracle-Client, einige Features stehen nicht zur Verfügung.' . PHP_EOL;
}
Oracle-Client 12.1+ erkannt – erweiterte Features verfügbar.

// Wichtig · Fallstricke

Hinweis zur Unterscheidung: oci_client_version() gibt die Version der lokalen Client-Bibliothek zurück, nicht die des Datenbankservers. Für die Serverversion muss oci_server_version() mit einer aktiven Verbindung verwendet werden.

Wenn die OCI8-Erweiterung nicht geladen oder nicht korrekt kompiliert wurde, führt der Aufruf zu einem fatalen Fehler (Call to undefined function). Stellen Sie daher sicher, dass extension=oci8 in der php.ini aktiviert ist und die Oracle-Bibliotheken im Systempfad liegen.