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