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