Häufige Fragen¶
Diese FAQ fasst wiederkehrende Fragen aus offenen und geschlossenen MRBS-Support-Issues zusammen. Die Antworten wurden gegen MRBS 1.12.2 geprüft; ein alter Workaround wird nicht allein deshalb übernommen, weil er einmal in einem Issue genannt wurde.
Auswahl der Fragen¶
Geprüft wurden Issues mit mindestens einem dieser Labels:
Help, Help from scratch, LDAP help need,
Problems with room's capacity, support, spanish help,
support request, help wanted und custom view help.
Allein das Label support request umfasste am 26. Juli 2026 3.076 Issues:
1.590 offene und 1.486 geschlossene. Viele davon sind importierte historische
Fälle, einmalige Anpassungswünsche, Feature Requests oder Fragen ohne
bestätigte Lösung. Aufgenommen wurden nur wiederkehrende Fragen mit einer für
1.12.2 weiterhin brauchbaren Antwort. Die Issue-Links belegen die Herkunft,
ersetzen aber nicht die aktuelle Konfigurationsreferenz.
Installation und Diagnose¶
Warum erscheint nur eine leere Seite oder HTTP 500?¶
Zuerst die Fehlerprotokolle des Webservers und von PHP lesen. Die leere Seite ist nur das sichtbare Symptom; der brauchbare Fehler steht normalerweise im Protokoll. Danach prüfen:
- unterstützte PHP-Version und benötigte Erweiterungen;
config.inc.phpmitphp -l config.inc.php;- Datenbankverbindung und passenden PDO-Treiber;
- Dateirechte und die tatsächlich aktive PHP-Konfiguration; und
- ob die Anfrage die beabsichtigte MRBS-Installation erreicht.
In Produktion keine öffentliche PHP-Fehleranzeige aktivieren und keine Zugangsdaten in ein Issue kopieren. Siehe Fehlerbehebung. Der ursprüngliche Supportfall #1007 hatte keine bestätigte produktspezifische Lösung; deshalb beginnt diese Antwort mit den lokalen Protokollen.
Warum schlägt die Datenbankanmeldung bei cPanel oder Shared Hosting fehl?¶
Exakt den Datenbank- und Benutzernamen verwenden, den das Hosting-Control-Panel
angelegt hat. cPanel stellt beiden häufig den Namen des Hosting-Kontos voran.
Außerdem prüfen, ob der Benutzer Rechte für genau diese Datenbank besitzt.
SQLSTATE[28000] oder „Access denied for user“ bezeichnet einen
Authentifizierungs- oder Rechtefehler der Datenbank, keinen Fehler in den
MRBS-Tabellen.
$db_database, $db_login und $db_password müssen mit den Werten im
Control-Panel übereinstimmen. Das Schema erst anlegen, wenn die Verbindung
funktioniert. Siehe
Issue #3801
und Installation.
Warum hat eine Konfigurationsänderung keine Wirkung?¶
Prüfen, ob die config.inc.php dieser Installation und Site bearbeitet wurde.
Spätere Zuweisungen überschreiben frühere. Einstellungen bestehender Bereiche
liegen in der Datenbank; Änderungen in areadefaults.inc.php gelten nur als
Vorgabe für neue Bereiche. Im Multisite-Betrieb die ausgewählte Site und deren
Konfiguration prüfen. Gegebenenfalls den PHP-Opcode-Cache leeren oder neu
starten.
Siehe config.inc.php im Detail und Fehlerbehebung.
Anmeldung und LDAP¶
Wie lässt sich vor dem Kalender eine Anmeldung erzwingen?¶
Folgende Einstellung setzen:
Die abgemeldete Ansicht in einem privaten Browserfenster testen. Diese Einstellung sperrt den öffentlichen Kalenderzugriff; sie wählt oder konfiguriert nicht das Authentifizierungsverfahren. Siehe Issue #3979 und Benutzer und Berechtigungen.
Warum meldet MRBS eine fehlende PHP-LDAP-Erweiterung?¶
Die LDAP-Erweiterung für genau die PHP-Laufzeit installieren oder aktivieren,
die der Webserver verwendet, und diese Laufzeit danach neu starten.
Kommandozeilen-PHP und Webserver-PHP können verschiedene php.ini-Dateien
laden; deshalb nicht nur auf php -m vertrauen. Paketname und Neustartbefehl
hängen vom Betriebssystem und der PHP-Installation ab.
Siehe Issue #1022 und LDAP-Authentifizierung.
Wie finde ich den richtigen LDAP Base DN und User DN?¶
Den Verzeichnisbaum nicht aus einem Organisationsnamen ableiten. Mit einem
LDAP-Client wie ldapsearch abfragen und dabei denselben Server, TLS-Modus,
Base DN, Suchbenutzer und Benutzernamen-Attribut wie MRBS verwenden. Active
Directory nutzt häufig sAMAccountName, OpenLDAP häufig uid; maßgeblich ist
aber das tatsächliche Verzeichnisschema.
Den Suchbenutzer getrennt vom Bind des Endbenutzers testen und Bind-Passwörter nie veröffentlichen. In Issue #1083 war ein falscher DN die Ursache.
Wie kann der LDAP-Zugriff auf eine Gruppe beschränkt werden?¶
Mit $ldap_filter festlegen, welche Verzeichnisbenutzer MRBS verwenden dürfen.
Bei Active Directory, wenn die Mitgliedschaft am Benutzerobjekt gespeichert
ist, kann der Filter memberof auswerten. Bei einer OpenLDAP-Struktur mit
Mitgliedschaften an Gruppenobjekten $ldap_filter_base_dn,
$ldap_filter_user_attr und einen passenden $ldap_filter konfigurieren.
Exakte DN- und Attributnamen aus dem Verzeichnis verwenden, je ein erlaubtes
und abgelehntes Konto testen und das Verhalten verschachtelter Gruppen prüfen.
Diese Zugriffsfilter sind von $ldap_admin_group_dn getrennt; letzteres
bestimmt MRBS-Administratoren. Siehe
Issue #2033
und LDAP-Authentifizierung.
LDAP-Anmeldung funktioniert – warum ist der Benutzer kein MRBS-Administrator?¶
Wenn $ldap_admin_group_dn gesetzt ist, verwendet MRBS diese Gruppe anstelle
von $auth['admin']. Folgendes prüfen:
- vollständiger Gruppen-DN;
$ldap_group_member_attrib– standardmäßigmemberof;- ob der LDAP-Suchbenutzer die Mitgliedschaftsattribute lesen darf; und
- ob das Verzeichnis direkte oder verschachtelte Mitgliedschaften liefert.
LDAP-Diagnose nur kurzzeitig in einer geschützten Testumgebung aktivieren und danach entfernen. In Issue #3943 konnte der Suchbenutzer die benötigten Gruppeninformationen zunächst nicht lesen.
Warum kann LDAP nach einem MRBS-Upgrade scheitern, obwohl der Passwort-Bind funktioniert?¶
Das aktuelle MRBS muss gegebenenfalls nach Benutzer-DN und Attributen wie Anzeigename oder E-Mail suchen. Ist keine anonyme Suche möglich, Folgendes konfigurieren:
$ldap_dn_search_attrib = 'sAMAccountName'; // echtes Verzeichnisattribut verwenden
$ldap_dn_search_dn = 'search-account@example.org';
$ldap_dn_search_password = 'aus-einem-geschuetzten-secret-lesen';
Dem Suchbenutzer nur die erforderlichen Leserechte geben. Sein Passwort außerhalb des Document Root ablegen und über eine geschützte Konfigurationsdatei einbinden. Siehe Issue #3895.
Kann MRBS mehrere LDAP-Verzeichnisse durchsuchen?¶
Ja. Viele LDAP-Einstellungen, darunter $ldap_host, $ldap_port,
$ldap_base_dn und Suchattribute, können Arrays sein. Sobald ein
arrayfähiger LDAP-Parameter als Array gesetzt ist, müssen alle arrayfähigen
Parameter gleich viele Elemente haben – eines je Verzeichnis.
Anmeldung, Attributsuche, Zugriffsfilter und Administratorzuordnung für jedes
Verzeichnis testen. Siehe
Issue #3981
und den LDAP-Abschnitt in systemdefaults.inc.php.
Buchungen, Räume und Berechtigungen¶
Warum funktioniert ein eigenes Buchungsfeld einzeln, aber nicht in einer Serie?¶
Jede eigene Buchungsspalte muss mit identischem Namen, Typ, Länge,
NULL-Regel und Vorgabe in den Tabellen entry und repeat existieren. Beide
Spalten als eine Schemaänderung behandeln.
Siehe Issue #3986 und Eigene Felder.
Verhindert die Raumkapazität eine Buchung mit zu vielen Teilnehmern?¶
Nein. Der Wert capacity ist eine von MRBS angezeigte Raumeigenschaft; er wird
nicht automatisch mit einer Teilnehmerzahl der Buchung verglichen. Muss eine
Site diese Regel erzwingen, ein identisches eigenes Teilnehmerzahl-Feld in
entry und repeat ergänzen und eine serverseitige Validierung entwickeln
und pflegen. Eine reine Browserprüfung reicht nicht aus.
Bei aktivierter Registrierung begrenzt deren Veranstaltungskapazität die Registrierungen für diese Veranstaltung; sie wählt nicht automatisch einen passend großen Raum. Siehe Issue #1055, Bereiche und Räume und Eigene Felder.
Kann ein Bereich morgens 30-Minuten- und später 15-Minuten-Slots verwenden?¶
Nicht über die Standardkonfiguration eines Bereichs. Ein Bereich hat genau eine Zeitauflösung. Entweder für den ganzen Tag die kleinste benötigte Auflösung verwenden oder – wenn Ressourcen und Betriebsmodell es erlauben – getrennte Bereiche anlegen. Eine zeitabhängige Auflösung erfordert eine dauerhaft gepflegte Codeanpassung.
Siehe Issue #4011.
Warum sieht der Ersteller einer Buchung Bearbeiten oder Löschen nicht?¶
Die Buchungsregeln des bestehenden Bereichs über Räume prüfen. Grenzen für zukünftige Änderungen und Regeln für vergangene Buchungen können diese Aktionen auch für den Ersteller ausblenden. Außerdem angemeldete Identität, Eigentümerschaft, Administratorstatus und Einzeltermin gegenüber Serie prüfen.
Eine Änderung in areadefaults.inc.php aktualisiert keinen bestehenden
Bereich. Siehe
Issue #3994
und Buchungsregeln.
Bleiben Räume einer Mehrraumbuchung dauerhaft miteinander verknüpft?¶
Nein. MRBS erzeugt getrennte Buchungseinträge. Wird einer später bearbeitet oder gelöscht, bilden die übrigen keine dauerhaft verknüpfte Gruppe. Eine erzeugte Liste aller gewählten Räume nur dann in jede Beschreibung kopieren, wenn die Site diese Liste auch bei Erstellung, Bearbeitung und Löschung konsistent pflegt.
Siehe Issue #2223.
Kann ich weitere Zugriffsstufen oder eine eigene Rolle nur für Berichte ergänzen?¶
Standard-MRBS verwendet die Zugriffsstufen 0, 1 und 2. Zusätzliche numerische Rollen und seitenspezifische Rechte erfordern eine lokale Autorisierungsanpassung, Tests und eine Prüfung nach jedem Upgrade. Ein Patch aus einem alten Issue ist keine unterstützte Konfigurationsoption.
Wenn passend, Standarddelegation für Bereiche/Räume oder öffentliche Berichte mit engen Freigabelisten bevorzugen. Siehe Issue #3999 und Benutzer und Berechtigungen.
E-Mail, Sprache und Zeit¶
Warum meldet die E-Mail-Diagnose „No recipients“?¶
Mindestens eine gewünschte Empfängerrolle aktivieren:
$mail_settings['admin_on_bookings'] = true;
$mail_settings['area_admin_on_bookings'] = true;
$mail_settings['room_admin_on_bookings'] = true;
$mail_settings['booker'] = true;
Für die erste Option $mail_settings['recipients'] setzen. Für Bereichs- und
Raumadministratoren deren E-Mail-Adressen in MRBS pflegen. Wenn der Buchende
benachrichtigt wird, benötigen LDAP-Benutzer ein lesbares und korrekt
zugeordnetes E-Mail-Attribut. Erstellen, Bearbeiten und Löschen getrennt testen.
Siehe Issue #3795 und E-Mail-Benachrichtigungen.
Welcher Wert gehört in $override_locale?¶
Ein BCP-47-Sprachtag wie en, en-GB, de, fr oder es, keine
betriebssystemspezifische Locale-Zeichenkette. Auf dem Server müssen trotzdem
passende Locale-Daten installiert sein. Auf Unix-artigen Systemen zeigt
locale -a die installierten Locales.
Für die automatische Auswahl durch MRBS $override_locale leer lassen. Siehe
Issue #3984
und Texte und Übersetzungen.
Warum liegen angezeigte Zeiten genau eine Stunde daneben?¶
In dieser Reihenfolge prüfen:
- Zeitzone des Raums und Bereichs;
- globales
$timezone; - PHP-Zeitzone und Zeitzonendaten-Paket;
- Sommer-/Winterzeitwechsel am betroffenen Datum; und
- ob der gespeicherte Zeitstempel oder nur seine Anzeige falsch ist.
Eine IANA-Zeitzone wie Europe/Berlin statt eines festen UTC-Offsets verwenden.
Alte Issues nennen versionsabhängige Formatierungs-Workarounds;
$force_strftime ist keine Einstellung in MRBS 1.12.2 und darf nicht aus
Issue #3967
übernommen werden. Siehe Fehlerbehebung.
Wie passe ich die Hilfe und Oberflächentexte an oder übersetze sie?¶
Die Hilfe in der Anwendung wird aus web/site_faq/ geladen. Spanisch verwendet
beispielsweise site_faq_es.html; wenn die Sprache ausdrücklich gewählt werden
soll, $faqfilelang = 'es' setzen. Für jede unterstützte Sprache eine
vollständige übersetzte Datei pflegen.
Kurze Änderungen an Oberflächentexten mit
$vocab_override[LANG][TOKEN] in config.inc.php vornehmen, statt
web/lang/lang.* zu ändern. Eigene Datenbankfelder verwenden Schlüssel wie
entry.catering.
Siehe Issue #2432 und Texte und Übersetzungen.
Berichte, Multisite und Anpassungen¶
Wie kann ein geplanter Job einen Bericht oder iCalendar-Daten exportieren?¶
Nicht authentifizierte GET-Berichte sind standardmäßig deaktiviert. Wenn die Informationen auf diesem Weg bereitgestellt werden dürfen, bewusst aktivieren und einschränken:
$report_unauthenticated_get_enabled = true;
$report_keys_enabled = true;
$report_keys = ['ein-langes-zufaelliges-secret'];
$report_open_areas = [1];
$report_open_rooms = [];
Einen nicht erratbaren Schlüssel, eine enge Bereichs-/Raumfreigabeliste, HTTPS und einen geschützten Scheduler verwenden. Die exakte Ausgabe abgemeldet testen. Eine Bericht-URL ist faktisch ein Zugangsschlüssel und kann über Protokolle oder Verlauf abfließen.
Siehe Issue #3742 und Suche und Berichte.
Können mehrere MRBS-Sites dieselben Tabellen gemeinsam verwenden?¶
Nein, wenn ihre Buchungen und Einstellungen getrennt bleiben sollen. Jede Site
benötigt eigene MRBS-Tabellen – entweder in einer eigenen Datenbank oder mit
einem eindeutigen $db_tbl_prefix in einer gemeinsamen Datenbank. Der Code
kann gemeinsam verwendet werden, die Tabellensätze dürfen sich nicht
überschneiden.
Die Tabellen jeder Site mit den MRBS-Schemascripten erzeugen und deren Präfix durchgängig anwenden. Siehe Issue #3917 und Mehrere Sites.
Ist jede gewünschte Ansicht oder jedes Theme konfigurierbar?¶
Nein. Zusätzlicher Raumtext in einer bestimmten Kalenderansicht, die Verknüpfung sonst unabhängiger Buchungen, neue Zugriffsstufen oder ein Austausch der Theme-Architektur können Codeänderungen erfordern. Vor Übernahme eines Patches aus einem Support-Issue:
- prüfen, ob 1.12.2 bereits eine Einstellung oder Erweiterungsstelle besitzt;
- die Änderung außerhalb generierter Dateien und Fremdbibliotheken halten;
- Erstellen, Bearbeiten, Löschen, Privatsphäre und Rechte testen; und
- die Anpassung für das nächste Upgrade dokumentieren.
Beispiele sind Custom-View-Issue #2223 und Theme-Anfrage #22.