Signatur
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
"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
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;
}
// 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.