Μετάβαση στο περιεχόμενο

Συχνές ερωτήσεις

Αυτή η σελίδα συγκεντρώνει επαναλαμβανόμενες ερωτήσεις από ανοικτά και κλειστά αιτήματα υποστήριξης MRBS. Οι απαντήσεις έχουν ελεγχθεί σε σχέση με το MRBS 1.12.2. Μια παλιά λύση δεν περιλαμβάνεται μόνο και μόνο επειδή αναφέρθηκε κάποτε σε ένα αίτημα.

Πώς επιλέχθηκε αυτό το FAQ

Η ανασκόπηση κάλυψε αιτήματα που φέρουν τουλάχιστον μία από αυτές τις ετικέτες: Help, Help from scratch, LDAP help need, Problems with room's capacity, support, spanish help, support request, help wanted και custom view help.

Στις 26 Ιουλίου 2026, μόνο η ετικέτα support request περιλάμβανε 3.076 αιτήματα: 1.590 ανοικτά και 1.486 κλειστά. Πολλά από αυτά είναι εισαγόμενα ιστορικά περιστατικά, μεμονωμένες προσαρμογές, αιτήματα λειτουργιών ή ερωτήσεις χωρίς επιβεβαιωμένη απάντηση. Παρακάτω περιλαμβάνονται μόνο επαναλαμβανόμενες ερωτήσεις των οποίων η απάντηση παραμένει χρήσιμη για την έκδοση 1.12.2. Οι σύνδεσμοι προς τα αιτήματα τεκμηριώνουν την προέλευση· δεν υποκαθιστούν την τρέχουσα αναφορά διαμόρφωσης.

Εγκατάσταση και διάγνωση

Γιατί βλέπω μια κενή σελίδα ή HTTP 500;

Διαβάστε πρώτα τα αρχεία καταγραφής σφαλμάτων του διακομιστή ιστού και PHP. Μια κενή σελίδα είναι μόνο το ορατό σύμπτωμα. το χρήσιμο σφάλμα βρίσκεται συνήθως σε ένα αρχείο καταγραφής. Στη συνέχεια ελέγξτε:

  1. την υποστηριζόμενη έκδοση PHP και τις απαιτούμενες επεκτάσεις.
  2. το config.inc.php με php -l config.inc.php·
  3. συνδεσιμότητα βάσης δεδομένων και το αντίστοιχο πρόγραμμα οδήγησης PDO.
  4. τα δικαιώματα αρχείων και την ενεργή διαμόρφωση της PHP· και
  5. εάν το αίτημα που αποτυγχάνει φτάσει στην προβλεπόμενη εγκατάσταση MRBS.

Μην ενεργοποιείτε τη δημόσια εμφάνιση σφαλμάτων PHP σε σύστημα παραγωγής και μην επικολλάτε διαπιστευτήρια σε ένα αίτημα. Δείτε Αντιμετώπιση προβλημάτων. Το αρχικό αίτημα υποστήριξης #1007 δεν είχε επιβεβαιωμένη διόρθωση για συγκεκριμένο προϊόν, γι' αυτό και αυτή η απάντηση ξεκινά με στοιχεία από τα τοπικά αρχεία καταγραφής.

Γιατί η σύνδεση της βάσης δεδομένων αποτυγχάνει στο cPanel ή σε κοινόχρηστη φιλοξενία;

Χρησιμοποιήστε την ακριβή βάση δεδομένων και το όνομα χρήστη που δημιουργήθηκαν από τον πίνακα ελέγχου φιλοξενίας. Το cPanel συχνά προθέτει και τα δύο με το όνομα του λογαριασμού φιλοξενίας. Βεβαιωθείτε επίσης ότι ο χρήστης έχει δικαιώματα σε αυτήν τη βάση δεδομένων. Το SQLSTATE[28000] ή η "Απαγόρευση πρόσβασης για χρήστη" είναι ένα σφάλμα ελέγχου ταυτότητας ή παραχώρησης βάσης δεδομένων και όχι σφάλμα πίνακα MRBS.

Διατηρήστε τα $db_database, $db_login και $db_password σύμφωνα με τις τιμές του πίνακα ελέγχου. Δημιουργήστε το σχήμα μόνο μετά την επιτυχία της σύνδεσης. Δείτε τεύχος #3801 και Εγκατάσταση.

Γιατί μια αλλαγή διαμόρφωσης δεν έχει αποτέλεσμα;

Ελέγξτε ότι επεξεργαστήκατε το config.inc.php που φορτώνεται από τη συγκεκριμένη εγκατάσταση και τον συγκεκριμένο ιστότοπο. Οι τιμές που εκχωρούνται αργότερα αντικαθιστούν τις προηγούμενες. Οι ρυθμίσεις των υπαρχουσών περιοχών είναι αποθηκευμένες στη βάση δεδομένων: η αλλαγή του areadefaults.inc.php επηρεάζει μόνο τις προεπιλογές για νέες περιοχές. Σε λειτουργία πολλαπλών ιστότοπων, επιβεβαιώστε ποιος ιστότοπος έχει επιλεγεί και ποια διαμόρφωση χρησιμοποιεί. Τέλος, όπου χρειάζεται, καθαρίστε ή επανεκκινήστε την προσωρινή μνήμη bytecode της PHP.

Δείτε config.inc.php σε βάθος και Αντιμετώπιση προβλημάτων.

Είσοδος και LDAP

Πώς μπορώ να απαιτήσω από τους χρήστες να συνδεθούν πριν δουν το ημερολόγιο;

Ορίστε:

$auth['deny_public_access'] = true;

Δοκιμάστε την προβολή χωρίς σύνδεση σε ένα ιδιωτικό παράθυρο του προγράμματος περιήγησης. Αυτή η ρύθμιση αποκλείει την πρόσβαση στο δημόσιο ημερολόγιο. Δεν επιλέγει ούτε ρυθμίζει τη μέθοδο ελέγχου ταυτότητας. Δείτε αίτημα #3979 και Χρήστες και δικαιώματα.

Γιατί το MRBS λέει ότι λείπει η επέκταση PHP LDAP;

Εγκαταστήστε ή ενεργοποιήστε την επέκταση LDAP για το χρόνο εκτέλεσης PHP που χρησιμοποιείται από τον διακομιστή ιστού, μετά επανεκκινήστε αυτόν τον χρόνο εκτέλεσης. Η γραμμή εντολών PHP και ο διακομιστής ιστού PHP μπορούν να φορτώσουν διαφορετικά αρχεία php.ini, επαληθεύστε λοιπόν τον χρόνο εκτέλεσης ιστού αντί να βασίζεστε μόνο στο php -m. Το ακριβές όνομα πακέτου και η εντολή επανεκκίνησης εξαρτώνται από το λειτουργικό σύστημα και την εγκατάσταση PHP.

Δείτε τεύχος #1022 και LDAP έλεγχος ταυτότητας.

Πώς μπορώ να βρω το σωστό LDAP DN βάσης και το σωστό DN χρήστη;

Μην συνάγετε το δέντρο καταλόγου από το όνομα ενός οργανισμού. Υποβάλετε ερώτημα με μια εφαρμογή-πελάτη LDAP, όπως το ldapsearch, χρησιμοποιώντας τον ίδιο διακομιστή, τη λειτουργία TLS, το βασικό DN, την ταυτότητα αναζήτησης και το χαρακτηριστικό ονόματος χρήστη που θα χρησιμοποιεί το MRBS. Το Active Directory χρησιμοποιεί συνήθως sAMAccountName. Το OpenLDAP χρησιμοποιεί συνήθως uid, αλλά καθοριστικό είναι το πραγματικό σχήμα του καταλόγου σας.

Δοκιμάστε την ταυτότητα αναζήτησης ξεχωριστά από τη σύνδεση τελικού χρήστη και μην δημοσιεύετε ποτέ κωδικούς πρόσβασης δεσμεύσεων. Ένα λάθος DN ήταν η βασική αιτία στο τεύχος #1083.

Πώς μπορεί η πρόσβαση LDAP να περιοριστεί σε μια ομάδα;

Χρησιμοποιήστε το $ldap_filter για να καθορίσετε ποιοι χρήστες του καταλόγου μπορούν να έχουν πρόσβαση στο MRBS. Σε μια δομή Active Directory, όπου η ιδιότητα μέλους αποθηκεύεται στο αντικείμενο χρήστη, ένα φίλτρο μπορεί να αντιστοιχεί στο memberof. Σε μια δομή τύπου OpenLDAP, όπου η ιδιότητα μέλους αποθηκεύεται στα αντικείμενα ομάδων, ρυθμίστε τα $ldap_filter_base_dn, $ldap_filter_user_attr και ένα κατάλληλο $ldap_filter.

Χρησιμοποιήστε το ακριβές DN και ονόματα χαρακτηριστικών από τον κατάλογο, δοκιμάστε έναν επιτρεπόμενο και έναν απορριφθέν λογαριασμό και επιβεβαιώστε πώς συμπεριφέρονται οι ένθετες ομάδες. Αυτά τα φίλτρα πρόσβασης είναι ξεχωριστά από το $ldap_admin_group_dn, το οποίο προσδιορίζει τους MRBS διαχειριστές. Δείτε τεύχος #2033 και LDAP έλεγχος ταυτότητας.

Η σύνδεση LDAP λειτουργεί. Γιατί ο χρήστης δεν είναι διαχειριστής MRBS;

Όταν έχει οριστεί το $ldap_admin_group_dn, το MRBS χρησιμοποιεί αυτήν την ομάδα αντί για $auth['admin']. Επιβεβαιώστε:

  • την πλήρη ομάδα DN·
  • $ldap_group_member_attrib — memberof από προεπιλογή.
  • ότι η ταυτότητα αναζήτησης LDAP μπορεί να διαβάζει τα χαρακτηριστικά ιδιότητας μέλους του χρήστη. και
  • εάν ο κατάλογος επιστρέφει άμεση ή ένθετη συνδρομή.

Ενεργοποιήστε προσωρινά τα διαγνωστικά LDAP μόνο σε προστατευμένο περιβάλλον δοκιμής και αφαιρέστε τα στη συνέχεια. Στο τεύχος #3943, η ταυτότητα αναζήτησης δεν μπορούσε αρχικά να διαβάσει τις απαιτούμενες πληροφορίες ομάδας.

Γιατί μπορεί να αποτύχει το LDAP μετά από μια αναβάθμιση MRBS παρόλο που η δέσμευση κωδικού πρόσβασης λειτουργεί;

Το τρέχον MRBS ενδέχεται να χρειαστεί να αναζητήσει το DN ενός χρήστη και χαρακτηριστικά όπως το εμφανιζόμενο όνομα ή το email. Εάν η ανώνυμη αναζήτηση δεν είναι διαθέσιμη, διαμορφώστε:

$ldap_dn_search_attrib = 'sAMAccountName'; // use the directory's real attribute
$ldap_dn_search_dn = 'search-account@example.org';
$ldap_dn_search_password = 'read-from-a-protected-secret';

Δώστε στην ταυτότητα αναζήτησης μόνο τα δικαιώματα ανάγνωσης που χρειάζεται. Διατηρήστε τον κωδικό πρόσβασής του εκτός της ρίζας του εγγράφου και συμπεριλάβετέ τον από ένα προστατευμένο αρχείο διαμόρφωσης. Δείτε τεύχος #3895.

Μπορεί το MRBS να πραγματοποιήσει αναζήτηση σε περισσότερους από έναν LDAP καταλόγους;

Ναι. Πολλές ρυθμίσεις LDAP, συμπεριλαμβανομένων των $ldap_host, $ldap_port, $ldap_base_dn και χαρακτηριστικών αναζήτησης, μπορούν να είναι πίνακες. Εάν μια παράμετρος LDAP με δυνατότητα πίνακα είναι πίνακας, κάθε παράμετρος με δυνατότητα πίνακα πρέπει να έχει τον ίδιο αριθμό στοιχείων, ένα ανά κατάλογο.

Δοκιμάστε τη σύνδεση, την αναζήτηση χαρακτηριστικών, τα φίλτρα πρόσβασης και τη χαρτογράφηση διαχειριστή για κάθε κατάλογο. Δείτε το τεύχος #3981 και την ενότητα LDAP στο systemdefaults.inc.php.

Κρατήσεις, αίθουσες και δικαιώματα

Γιατί ένα προσαρμοσμένο πεδίο κράτησης λειτουργεί για μία κράτηση αλλά αποτυγχάνει για μια σειρά;

Κάθε προσαρμοσμένη στήλη κράτησης πρέπει να υπάρχει και στους πίνακες entry και repeat με το ίδιο όνομα, τύπο, μήκος, μηδενισμό και προεπιλογή. Αντιμετωπίστε και τις δύο στήλες ως μια αλλαγή σχήματος.

Δείτε τεύχος #3986 και Προσαρμοσμένα πεδία.

Η χωρητικότητα της αίθουσας εμποδίζει μια κράτηση με πάρα πολλούς συμμετέχοντες;

Όχι. Η τιμή capacity είναι μεταδεδομένο της αίθουσας που εμφανίζεται από το MRBS. Δεν συγκρίνεται αυτόματα με τον αριθμό συμμετεχόντων μιας κράτησης. Εάν ένας ιστότοπος πρέπει να επιβάλλει αυτόν τον κανόνα, προσθέστε το ίδιο προσαρμοσμένο πεδίο πλήθους συμμετεχόντων στα entry και repeat και, στη συνέχεια, υλοποιήστε και συντηρείτε επικύρωση στην πλευρά του διακομιστή. Η επικύρωση μόνο στην πλευρά του πελάτη δεν επαρκεί.

Εάν είναι ενεργοποιημένη η εγγραφή, η χωρητικότητα της εκδήλωσης περιορίζει τις εγγραφές στο συγκεκριμένο συμβάν. Δεν επιλέγει αυτόματα αίθουσα κατάλληλου μεγέθους. Δείτε αίτημα #1055, Χώροι και αίθουσες και Προσαρμοσμένα πεδία.

Μπορεί μια περιοχή να χρησιμοποιήσει 30 λεπτά το πρωί και 15 λεπτά αργότερα;

Όχι μέσω της τυπικής διαμόρφωσης περιοχής. Κάθε περιοχή έχει μία ενιαία χρονική ανάλυση. Χρησιμοποιήστε το μικρότερο απαιτούμενο διάστημα για ολόκληρη την ημέρα ή δημιουργήστε χωριστές περιοχές, εφόσον το επιτρέπουν οι πόροι και ο τρόπος λειτουργίας. Μια χρονική ανάλυση που αλλάζει μέσα στην ημέρα απαιτεί προσαρμογή του κώδικα, την οποία θα πρέπει να συντηρείτε.

Δείτε τεύχος #4011.

Γιατί ένας δημιουργός κρατήσεων δεν μπορεί να δει την Επεξεργασία ή τη Διαγραφή;

Ελέγξτε την πολιτική κρατήσεων της υπάρχουσας περιοχής μέσω της σελίδας Αίθουσες. Τα όρια για κρατήσεις εκ των προτέρων ή στο μέλλον και οι κανόνες επεξεργασίας παλαιότερων κρατήσεων μπορούν να αποκρύψουν αυτές τις ενέργειες ακόμη και από τον δημιουργό. Επιβεβαιώστε επίσης την ταυτότητα του συνδεδεμένου χρήστη, την ιδιοκτησία της κράτησης, την ιδιότητα διαχειριστή και αν πρόκειται για μεμονωμένη εμφάνιση ή για σειρά.

Η αλλαγή του areadefaults.inc.php δεν ενημερώνει μια υπάρχουσα περιοχή. Δείτε τεύχος #3994 και Πολιτικές κρατήσεων.

Οι αίθουσες που επιλέγονται σε μια κράτηση πολλών αιθουσών παραμένουν μόνιμα συνδεδεμένες;

Το MRBS δημιουργεί χωριστές εγγραφές κρατήσεων. Αν αργότερα υποβληθεί σε επεξεργασία ή διαγραφεί μία από αυτές, οι υπόλοιπες δεν αποτελούν μια μόνιμα συνδεδεμένη ομάδα. Μην αντιγράφετε αυτόματα τη λίστα όλων των επιλεγμένων αιθουσών σε κάθε περιγραφή, εκτός αν ο ιστότοπος ενημερώνει τη λίστα σε κάθε διαδικασία δημιουργίας, επεξεργασίας και διαγραφής.

Δείτε τεύχος #2223.

Μπορώ να προσθέσω περισσότερα επίπεδα πρόσβασης ή να δώσω πρόσβαση στην αναφορά μόνο σε έναν προσαρμοσμένο ρόλο;

Η βασική εγκατάσταση MRBS χρησιμοποιεί τα επίπεδα πρόσβασης 0, 1 και 2. Πρόσθετοι αριθμητικοί ρόλοι και δικαιώματα για συγκεκριμένες σελίδες απαιτούν τοπική προσαρμογή της εξουσιοδότησης, δοκιμές και επανέλεγχο μετά από κάθε αναβάθμιση. Μια ενημέρωση κώδικα από παλιό αίτημα δεν αποτελεί υποστηριζόμενη επιλογή διαμόρφωσης.

Προτιμήστε την τυπική ανάθεση διαχείρισης ανά περιοχή ή αίθουσα και τις δημόσιες αναφορές με αυστηρές λίστες επιτρεπόμενων τιμών, όταν καλύπτουν την απαίτηση. Δείτε αίτημα #3999 και Χρήστες και δικαιώματα.

Email, γλώσσα και ώρα

Γιατί ο εντοπισμός σφαλμάτων email αναφέρει "Δεν υπάρχουν παραλήπτες";

Ενεργοποιήστε τουλάχιστον έναν από τους προβλεπόμενους ρόλους παραλήπτη:

$mail_settings['admin_on_bookings'] = true;
$mail_settings['area_admin_on_bookings'] = true;
$mail_settings['room_admin_on_bookings'] = true;
$mail_settings['booker'] = true;

Για την πρώτη επιλογή, ορίστε $mail_settings['recipients']. Για τους διαχειριστές περιοχών και αιθουσών, καταχωρίστε τις διευθύνσεις email τους στο MRBS. Για να ειδοποιείται ο δημιουργός μιας κράτησης, οι χρήστες LDAP χρειάζονται ένα αναγνώσιμο και σωστά αντιστοιχισμένο χαρακτηριστικό email. Στη συνέχεια, δοκιμάστε χωριστά τη δημιουργία, την επεξεργασία και τη διαγραφή συμβάντων.

Δείτε τεύχος #3795 και Ειδοποιήσεις μέσω email.

Ποια τιμή πρέπει να χρησιμοποιήσω για το $override_locale;

Χρησιμοποιήστε μια ετικέτα γλώσσας BCP 47 όπως en, en-GB, de, fr ή es, όχι μια συμβολοσειρά τοπικής ρύθμισης λειτουργικού συστήματος. Ο διακομιστής πρέπει να έχει ακόμα κατάλληλα δεδομένα τοπικής ρύθμισης. Σε συστήματα τύπου Unix, το locale -a εμφανίζει εγκατεστημένες τοπικές ρυθμίσεις.

Αφήστε το $override_locale κενό για να χρησιμοποιήσετε την αυτόματη επιλογή MRBS. Δείτε τεύχος #3984 και Κείμενο και μεταφράσεις.

Γιατί οι εμφανιζόμενες ώρες αποκλίνουν ακριβώς κατά μία ώρα;

Ελέγξτε με τη σειρά:

  1. τη ζώνη ώρας της αίθουσας και της περιοχής·
  2. την καθολική ρύθμιση $timezone·
  3. τη ζώνη ώρας της PHP και το εγκατεστημένο πακέτο δεδομένων ζωνών ώρας·
  4. τη θερινή μετάβαση της επηρεαζόμενης ημερομηνίας· και
  5. εάν η αποθηκευμένη χρονική σήμανση ή μόνο η εμφάνισή της είναι λάθος.

Χρησιμοποιήστε μια ζώνη ώρας IANA όπως Europe/Berlin, όχι μια σταθερή μετατόπιση UTC. Παλιά ζητήματα αναφέρουν λύσεις μορφοποίησης για συγκεκριμένη έκδοση. Το $force_strftime δεν είναι μια ρύθμιση στο MRBS 1.12.2 και δεν πρέπει να αντιγραφεί από το τεύχος #3967. Δείτε Αντιμετώπιση προβλημάτων.

Πώς μπορώ να προσαρμόσω ή να μεταφράσω τη σελίδα Βοήθειας και το κείμενο της διεπαφής;

Η σελίδα βοήθειας μέσα στην εφαρμογή φορτώνεται από το web/site_faq/. Για παράδειγμα, η ισπανική έκδοση χρησιμοποιεί το site_faq_es.html. Ορίστε $faqfilelang = 'es' όταν η γλώσσα πρέπει να επιλεγεί ρητά. Διατηρήστε ένα πλήρες μεταφρασμένο αρχείο για κάθε υποστηριζόμενη γλώσσα.

Για σύντομες αλλαγές διεπαφής, χρησιμοποιήστε το $vocab_override[LANG][TOKEN] στο config.inc.php αντί για την επεξεργασία του web/lang/lang.*. Τα προσαρμοσμένα πεδία βάσης δεδομένων χρησιμοποιούν διακριτικά όπως entry.catering.

Δείτε τεύχος #2432 και Κείμενο και μεταφράσεις.

Αναφορές, πολλαπλοί ιστότοποι και προσαρμογή

Πώς μπορεί μια προγραμματισμένη εργασία να εξάγει μια αναφορά ή δεδομένα iCalendar;

Οι μη επαληθευμένες αναφορές GET είναι απενεργοποιημένες από προεπιλογή. Εάν οι πληροφορίες ενδέχεται να εκτεθούν με αυτόν τον τρόπο, ενεργοποιήστε τις σκόπιμα και περιορίστε τις με:

$report_unauthenticated_get_enabled = true;
$report_keys_enabled = true;
$report_keys = ['a-long-random-secret'];
$report_open_areas = [1];
$report_open_rooms = [];

Χρησιμοποιήστε ένα κλειδί που δεν μπορεί να προβλεφθεί, μια αυστηρή λίστα επιτρεπόμενων περιοχών και αιθουσών, HTTPS και ένα προστατευμένο σύστημα προγραμματισμού εργασιών. Δοκιμάστε το ακριβές αποτέλεσμα χωρίς να είστε συνδεδεμένοι. Η διεύθυνση URL μιας αναφοράς λειτουργεί ουσιαστικά ως διαπιστευτήριο και μπορεί να διαρρεύσει μέσω αρχείων καταγραφής ή του ιστορικού.

Δείτε τεύχος #3742 και Αναζήτηση και αναφορές.

Μπορούν πολλοί ιστότοποι MRBS να μοιράζονται ένα σύνολο πινάκων;

Όχι, όχι εάν οι κρατήσεις και οι ρυθμίσεις τους πρέπει να είναι ξεχωριστές. Κάθε ιστότοπος χρειάζεται τους δικούς του πίνακες MRBS, είτε σε ξεχωριστή βάση δεδομένων είτε με μοναδικό $db_tbl_prefix σε μια κοινόχρηστη βάση δεδομένων. Ο κώδικας μπορεί να κοινοποιηθεί, αλλά τα σύνολα πινάκων δεν πρέπει να επικαλύπτονται.

Δημιουργήστε τους πίνακες κάθε ιστότοπου με τα σενάρια σχήματος MRBS και εφαρμόστε το πρόθεμά του με συνέπεια. Δείτε τεύχος #3917 και Multisite.

Είναι κάθε ζητούμενη προβολή ή θέμα διαθέσιμο μέσω διαμόρφωσης;

Όχι. Αιτήματα όπως η προσθήκη επιπλέον κειμένου αίθουσας σε μια συγκεκριμένη διάταξη ημερολογίου, η σύνδεση ανεξάρτητων κρατήσεων, η προσθήκη επιπέδων πρόσβασης ή η αντικατάσταση της αρχιτεκτονικής θεμάτων ενδέχεται να απαιτούν αλλαγές στον κώδικα. Πριν εφαρμόσετε μια ενημέρωση κώδικα από ένα αίτημα υποστήριξης:

  • Ελέγξτε εάν το 1.12.2 έχει ήδη σημείο ρύθμισης ή επέκτασης.
  • κρατήστε την αλλαγή έξω από παραγόμενα αρχεία και αρχεία εξωτερικών εξαρτήσεων·
  • προσθέστε δοκιμές για δημιουργία, επεξεργασία, διαγραφή, απόρρητο και δικαιώματα· και
  • καταγράψτε την προσαρμογή για την επόμενη αναβάθμιση.

Στα παραδείγματα περιλαμβάνονται το αίτημα προσαρμοσμένης προβολής #2223 και το αίτημα θέματος #22.