Start · Sprachen · PHP · Referenz · fbird_server_info

fbird_server_info

Funktion

Gibt Informationen über einen Firebird/InterBase-Datenbankserver zurück.

seit PHP 5.0.0 Kategorie: db

Signatur

fbird_server_info(resource $service_handle, int $action): mixed

Beschreibung

fbird_server_info() fragt über einen geöffneten Service-Handle Informationen über den Firebird- oder InterBase-Datenbankserver ab. Der Typ der zurückgegebenen Information wird durch den Parameter $action gesteuert, für den verschiedene vordefinierte Konstanten zur Verfügung stehen.

Typische Anwendungsfälle sind das Abfragen der Serverversion, der Datenbankpfade oder des Benutzerverzeichnisses – nützlich beispielsweise für administrative Tools oder Monitoring-Skripte, die den Zustand eines Firebird-Servers prüfen sollen.

Bevor diese Funktion aufgerufen werden kann, muss ein Service-Handle mit fbird_service_attach() geöffnet worden sein. Nach Verwendung sollte der Handle mit fbird_service_detach() wieder geschlossen werden.

Hinweis: fbird_server_info() ist ein Alias für ibase_server_info(). Die ibase/fbird-Erweiterung wurde mit PHP 8.0 aus dem PHP-Core entfernt und steht seitdem nur noch als PECL-Paket (ibase) zur Verfügung.

Parameter

Name Typ Default Beschreibung
$service_handle Pflicht resource Ein gültiger Service-Handle, der zuvor mit fbird_service_attach() geöffnet wurde.
$action Pflicht int Eine der vordefinierten Konstanten, die bestimmt, welche Information abgefragt wird. Mögliche Werte sind z. B. IBASE_SVC_SERVER_VERSION (Serverversion), IBASE_SVC_IMPLEMENTATION (Implementierungsdetails), IBASE_SVC_GET_ENV (Umgebungspfad), IBASE_SVC_GET_ENV_LOCK oder IBASE_SVC_GET_ENV_MSG.

Rückgabewert

Typ
mixed
Beschreibung
Gibt je nach $action einen String oder ein Array mit den angeforderten Serverinformationen zurück. Im Fehlerfall wird false zurückgegeben.

Beispiele

Serverversion eines Firebird-Servers abrufen

<?php
// Service-Verbindung herstellen
$serviceHandle = fbird_service_attach('localhost', 'sysdba', 'masterkey');

if ($serviceHandle === false) {
    die('Verbindung zum Service fehlgeschlagen.');
}

// Serverversion abfragen
$version = fbird_server_info($serviceHandle, IBASE_SVC_SERVER_VERSION);
echo 'Serverversion: ' . $version . PHP_EOL;

// Implementierungsdetails abrufen
$impl = fbird_server_info($serviceHandle, IBASE_SVC_IMPLEMENTATION);
echo 'Implementierung: ' . $impl . PHP_EOL;

// Service-Verbindung schließen
fbird_service_detach($serviceHandle);
?>
Serverversion: LI-V3.0.7.33374 Firebird 3.0 Implementierung: Firebird/Linux/AMD/Intel/x64

Umgebungspfad des Servers auslesen

<?php
$serviceHandle = fbird_service_attach('localhost', 'sysdba', 'masterkey');

if ($serviceHandle === false) {
    die('Verbindung fehlgeschlagen.');
}

// Firebird-Umgebungspfad abfragen
$envPath = fbird_server_info($serviceHandle, IBASE_SVC_GET_ENV);
echo 'Firebird-Umgebungspfad: ' . $envPath . PHP_EOL;

fbird_service_detach($serviceHandle);
?>
Firebird-Umgebungspfad: /opt/firebird

// Wichtig · Fallstricke

Deprecation / Entfernung: Die ibase/fbird-Funktionen wurden mit PHP 8.0 aus dem PHP-Core entfernt. Für PHP 8.x und neuer muss die Erweiterung als PECL-Paket installiert werden. Für neue Projekte sollte eine aktiv gepflegte Alternative in Betracht gezogen werden.

Plattformabhängigkeit: Die verfügbaren Konstanten (IBASE_SVC_*) und deren Rückgabewerte können je nach Firebird-Version und Betriebssystem variieren. Es empfiehlt sich, die Rückgabe auf false zu prüfen, bevor sie weiterverarbeitet wird.

Berechtigungen: Für die meisten Service-Abfragen sind SYSDBA-Rechte oder gleichwertige Administratorrechte auf dem Firebird-Server erforderlich.