Signatur
Beschreibung
fbird_add_user() ist ein Alias für ibase_add_user() und ermöglicht es, einen neuen Benutzer direkt in der Sicherheitsdatenbank eines Firebird- oder InterBase-Datenbankservers anzulegen. Die Funktion setzt einen aktiven Service-Handle voraus, der zuvor mit ibase_service_attach() geöffnet wurde.
Die Funktion wird typischerweise in Administrationsskripten eingesetzt, wenn Benutzerkonten programmatisch verwaltet werden sollen — etwa beim automatisierten Onboarding neuer Datenbanknutzer oder bei der Bereitstellung von Anwendungsinstanzen mit dedizierten Datenbankbenutzern.
Neben dem obligatorischen Benutzernamen und Passwort können optionale Namensfelder (first_name, middle_name, last_name) angegeben werden, die in der Sicherheitsdatenbank gespeichert werden und rein informativer Natur sind.
Hinweis: Diese Funktion setzt voraus, dass das PHP-Modul interbase (bzw. firebird) geladen ist und der verbindende Benutzer über Administratorrechte auf dem Datenbankserver verfügt.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $service_handle Pflicht | resource | Ein gültiger Service-Handle, der zuvor mit ibase_service_attach() geöffnet wurde. |
|
| $user_name Pflicht | string | Der Benutzername des neuen Datenbankbenutzers. Muss auf dem Server eindeutig sein und darf typischerweise maximal 31 Zeichen lang sein. | |
| $password Pflicht | string | Das Passwort für den neuen Benutzer. Sollte ausreichend komplex sein und sicher übertragen werden. | |
| $first_name | string | Optionaler Vorname des Benutzers, der in der Sicherheitsdatenbank gespeichert wird. | |
| $middle_name | string | Optionaler zweiter Vorname oder Mittelname des Benutzers. | |
| $last_name | string | Optionaler Nachname des Benutzers, der in der Sicherheitsdatenbank gespeichert wird. |
Rückgabewert
true bei Erfolg zurück. Im Fehlerfall (z. B. fehlende Berechtigungen, bereits existierender Benutzer oder ungültiger Service-Handle) wird false zurückgegeben.Beispiele
Neuen Firebird-Benutzer anlegen
<?php
// Service-Verbindung zum Firebird-Server herstellen
$serviceHandle = ibase_service_attach('localhost', 'SYSDBA', 'masterkey');
if ($serviceHandle === false) {
die('Verbindung zum Service fehlgeschlagen.');
}
// Neuen Benutzer hinzufügen
$result = fbird_add_user(
$serviceHandle,
'NEWUSER',
'SecureP@ssw0rd!',
'Max',
'',
'Mustermann'
);
if ($result) {
echo 'Benutzer erfolgreich angelegt.';
} else {
echo 'Fehler beim Anlegen des Benutzers.';
}
// Service-Verbindung schließen
ibase_service_detach($serviceHandle);
Benutzer anlegen mit Fehlerbehandlung
<?php
$host = 'localhost';
$adminUser = 'SYSDBA';
$adminPass = 'masterkey';
$svc = ibase_service_attach($host, $adminUser, $adminPass);
if (!$svc) {
die('Service-Attach fehlgeschlagen: ' . ibase_errmsg());
}
$username = 'APPUSER';
$password = 'V3ryS3cur3!';
if (fbird_add_user($svc, $username, $password, 'App', '', 'User')) {
echo "Benutzer '{$username}' wurde erfolgreich erstellt.\n";
} else {
echo 'Fehler: ' . ibase_errmsg() . "\n";
}
ibase_service_detach($svc);
// Wichtig · Fallstricke
Sicherheitshinweis: Das Passwort wird im Klartext als Parameter übergeben. Stellen Sie sicher, dass Skripte, die diese Funktion nutzen, nicht öffentlich zugänglich sind und dass Passwörter nicht in Versionskontrollsystemen gespeichert werden. Verwenden Sie stets starke, zufällig generierte Passwörter.
Berechtigungen: Der für ibase_service_attach() verwendete Benutzer muss über Administratorrechte auf dem Firebird-Server verfügen (in der Regel SYSDBA oder ein gleichwertiger Administrator).
Deprecation: Die interbase_*- und fbird_*-Funktionen wurden mit PHP 7.4 aus dem Kern entfernt und stehen nur noch über die PECL-Erweiterung ibase bzw. firebird zur Verfügung. In modernen Projekten sollte auf aktiv gepflegte Alternativen geachtet werden.
fbird_add_user() ist ein direkter Alias für ibase_add_user() — beide Funktionen sind identisch in ihrer Funktionalität.