Perguntas frequentes¶
Este FAQ resume perguntas recorrentes de issues de suporte do MRBS, abertos e encerrados. As respostas foram verificadas para o MRBS 1.12.2; uma solução antiga não é incluída apenas por ter aparecido uma vez em um issue.
Como este FAQ foi selecionado¶
A revisão cobriu questões com pelo menos um destes rótulos: Help, Help from scratch, LDAP help need, Problems with room's capacity, support, spanish help, support request, help wanted, e custom view help.
Em 26 de julho de 2026, somente o rótulo support request abrangia 3.076 issues: 1.590 abertos e 1.486 encerrados. Muitos são casos históricos importados, personalizações pontuais, solicitações de recursos ou perguntas sem resposta confirmada. A lista abaixo inclui apenas perguntas recorrentes cujas respostas continuam úteis para a versão 1.12.2. Os links para os issues indicam a origem das informações, mas não substituem a referência da configuração atual.
Instalação e diagnóstico¶
Por que vejo uma página em branco ou HTTP 500?¶
Leia primeiro o servidor web e os logs de erros PHP. Uma página em branco é apenas um sintoma visível; o erro útil normalmente está em um log. Então verifique:
- a versão PHP suportada e extensões necessárias;
config.inc.phpcomphp -l config.inc.php;- conectividade de banco de dados e o driver PDO correspondente;
- permissões de arquivo e configuração ativa PHP; e
- se a solicitação com falha atinge a instalação MRBS pretendida.
Não habilite a exibição pública de erros PHP em um sistema de produção e não cole credenciais em um problema. Consulte Solução de problemas. O caso de suporte #1007 original não tinha nenhuma correção específica do produto confirmada, e é por isso que esta resposta começa com evidências dos logs locais.
Por que o login do banco de dados falha no cPanel ou na hospedagem compartilhada?¶
Use o banco de dados e o nome de usuário exatos criados pelo painel de controle de hospedagem. O cPanel geralmente prefixa ambos com o nome da conta de hospedagem. Verifique também se o usuário tem privilégios nesse banco de dados. SQLSTATE[28000] ou “Acesso negado ao usuário” é um erro de autenticação ou concessão de banco de dados, não um erro de tabela MRBS.
Mantenha $db_database, $db_login e $db_password consistentes com os valores do painel de controle. Crie o esquema somente depois que a conexão for bem-sucedida. Consulte issue #3801 e Instalação.
Por que uma alteração na configuração não tem efeito?¶
Verifique se você editou o config.inc.php carregado por esta implantação e site. Os valores atribuídos posteriormente substituem os anteriores. As configurações salvas para áreas existentes residem no banco de dados; alterar areadefaults.inc.php altera os padrões apenas para novas áreas. No modo multisite, confirme o site selecionado e sua configuração. Por fim, limpe ou reinicie o cache opcode do PHP quando aplicável.
Consulte config.inc.php em profundidade e Solução de problemas.
Login e LDAP¶
Como posso exigir que os usuários façam login antes de verem o calendário?¶
Definir:
Teste a visualização desconectada em uma janela privada do navegador. Esta configuração bloqueia o acesso ao calendário público; ele não escolhe nem configura o método de autenticação. Consulte issue #3979 e Usuários e permissões.
Por que MRBS diz que a extensão PHP LDAP está faltando?¶
Instale ou ative a extensão LDAP no ambiente PHP usado pelo servidor Web e reinicie o serviço correspondente. O PHP da linha de comando e o PHP do servidor Web podem carregar arquivos php.ini diferentes; portanto, verifique o ambiente Web em vez de confiar apenas em php -m. O nome do pacote e o comando de reinicialização dependem do sistema operacional e da forma como o PHP foi instalado.
Consulte issue #1022 e Autenticação LDAP.
Como encontro o DN base LDAP correto e o DN do usuário?¶
Não infira a árvore de diretórios a partir do nome de uma organização. Consulte-o com um cliente LDAP como ldapsearch, usando o mesmo servidor, modo TLS, DN base, identidade de pesquisa e atributo de nome de usuário que MRBS usará. O Active Directory normalmente usa sAMAccountName; O OpenLDAP normalmente usa uid, mas o esquema do diretório é oficial.
Teste a identidade de pesquisa separadamente da ligação do usuário final e nunca publique senhas de ligação. Um DN errado foi a causa raiz em issue #1083.
Como o acesso LDAP pode ser limitado a um grupo?¶
Use $ldap_filter para decidir qual diretório os usuários podem acessar MRBS. Para um layout do Active Directory em que a associação é armazenada no objeto de usuário, um filtro pode corresponder a memberof. Para um layout estilo OpenLDAP onde a associação é armazenada em objetos de grupo, configure $ldap_filter_base_dn, $ldap_filter_user_attr e um $ldap_filter apropriado.
Use o DN exato e os nomes de atributos do diretório, teste uma conta permitida e uma rejeitada e confirme como os grupos aninhados se comportam. Esses filtros de acesso são separados de $ldap_admin_group_dn, que identifica administradores MRBS. Consulte issue #2033 e Autenticação LDAP.
O login LDAP funciona; por que o usuário não é administrador do MRBS?¶
Quando $ldap_admin_group_dn é definido, MRBS usa esse grupo em vez de $auth['admin']. Confirmar:
- o DN completo do grupo;
$ldap_group_member_attrib—memberofpor padrão;- que a identidade de pesquisa LDAP possa ler os atributos de associação do usuário; e
- se o diretório retorna associação direta ou aninhada.
Habilite temporariamente os diagnósticos LDAP apenas em um ambiente de teste protegido e remova-os posteriormente. Em issue #3943, a identidade de pesquisa não conseguiu ler inicialmente as informações de grupo necessárias.
Por que LDAP pode falhar após uma atualização MRBS embora a ligação por senha funcione?¶
O MRBS atual pode precisar pesquisar o DN e atributos de um usuário, como nome de exibição ou e-mail. Se a pesquisa anônima não estiver disponível, configure:
$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';
Dê à identidade de pesquisa apenas as permissões de leitura necessárias. Mantenha sua senha fora da raiz do documento e inclua-a em um arquivo de configuração protegido. Consulte issue #3895.
MRBS pode pesquisar mais de um diretório LDAP?¶
Sim. Muitas configurações de LDAP, incluindo $ldap_host, $ldap_port, $ldap_base_dn e atributos de pesquisa, podem ser matrizes. Se um parâmetro LDAP com capacidade de matriz for uma matriz, cada parâmetro com capacidade de matriz deverá ter o mesmo número de elementos, um por diretório.
Teste o login, a pesquisa de atributos, os filtros de acesso e o mapeamento do administrador para cada diretório. Consulte issue #3981 e a seção LDAP em systemdefaults.inc.php.
Reservas, salas e permissões¶
Por que um campo de reserva personalizado funciona para uma reserva, mas falha para uma série?¶
Cada coluna de reserva personalizada deve existir nas tabelas entry e repeat com o mesmo nome, tipo, comprimento, nulidade e padrão. Trate ambas as colunas como uma alteração de esquema.
Consulte issue #3986 e Campos personalizados.
A capacidade da sala impede uma reserva com muitos participantes?¶
O valor da sala capacity são metadados da sala exibidos por MRBS; não é comparado automaticamente com a contagem de participantes de uma reserva. Se um site precisar aplicar esta regra, adicione um campo personalizado de contagem de participantes idêntico a entry e repeat e, em seguida, implemente e mantenha a validação do lado do servidor. A validação do lado do cliente por si só é insuficiente.
Se o registro estiver habilitado, sua capacidade de evento controlará o registro desse evento; ele não seleciona automaticamente uma sala de tamanho adequado. Consulte issue #1055, Áreas e salas e Campos personalizados.
Uma área pode usar slots de 30 minutos pela manhã e slots de 15 minutos depois?¶
Não por meio da configuração padrão da área. Cada área tem uma única resolução de tempo. Use a menor resolução necessária durante todo o dia ou crie áreas separadas se os recursos e o modo de operação permitirem. Uma resolução variável conforme o horário exige uma personalização de código que deverá ser mantida.
Consulte issue #4011.
Por que um criador de reservas não consegue ver Editar ou Excluir?¶
Consulte a política de reservas da área existente através do Salas. Limites e regras de edição antecipada/futura para reservas anteriores podem remover essas ações até mesmo do criador. Confirme também a identidade do login, a propriedade, o status do administrador e se o item é uma ocorrência ou uma série.
Alterar areadefaults.inc.php não atualiza uma área existente. Consulte issue #3994 e Políticas de reserva.
Os salas selecionados em uma reserva multiroom estão permanentemente vinculados?¶
Não. MRBS cria entradas de reserva separadas. Se um deles for editado ou excluído posteriormente, os outros não serão um grupo vinculado durável. Não copie uma lista gerada de todas as salas selecionadas em cada descrição, a menos que o site também mantenha essa lista durante as operações de criação, edição e exclusão.
Consulte issue #2223.
Posso adicionar mais níveis de acesso ou conceder acesso apenas ao relatório de uma função personalizada?¶
O padrão MRBS usa níveis de acesso 0, 1 e 2. Funções numéricas adicionais e permissões específicas de página exigem personalização de autorização local, testes e revisão após cada atualização. Um patch de um problema antigo não é uma opção de configuração compatível.
Prefira delegação de área/sala padrão e relatórios públicos com listas de permissões restritas onde atendam aos requisitos. Consulte issue #3999 e Usuários e permissões.
E-mail, idioma e horário¶
Por que a depuração de e-mail informa “Nenhum destinatário”?¶
Habilite pelo menos uma função de destinatário pretendida:
$mail_settings['admin_on_bookings'] = true;
$mail_settings['area_admin_on_bookings'] = true;
$mail_settings['room_admin_on_bookings'] = true;
$mail_settings['booker'] = true;
Para a primeira opção, defina $mail_settings['recipients']. Mantenha atualizados no MRBS os endereços de e-mail dos administradores de área e sala. Quando o autor da reserva é notificado, os usuários LDAP precisam de um atributo de e-mail legível e corretamente mapeado. Depois, teste separadamente a criação, alteração e exclusão de reservas.
Consulte issue #3795 e Notificações por e-mail.
Qual valor devo usar para $override_locale?¶
Use uma tag de idioma BCP 47, como en, en-GB, de, fr ou es, não uma string de localidade do sistema operacional. O servidor ainda deve ter dados de localidade adequados. Em sistemas do tipo Unix, locale -a mostra as localidades instaladas.
Deixe $override_locale vazio para usar a seleção automática MRBS. Consulte issue #3984 e Texto e traduções.
Por que os horários exibidos exatamente uma hora estão errados?¶
Verifique, em ordem:
- o fuso horário da sala e da área;
- o global
$timezone; - Fuso horário e pacote de dados de fuso horário de PHP;
- a transição para o horário de verão da data afetada; e
- se o carimbo de data/hora armazenado ou apenas sua exibição está errado.
Use um fuso horário IANA como Europe/Berlin, não um deslocamento UTC fixo. Problemas antigos mencionam soluções alternativas de formatação específicas da versão; $force_strftime não é uma configuração em MRBS 1.12.2 e não deve ser copiado de issue #3967. Consulte Solução de problemas.
Como posso personalizar ou traduzir a página de Ajuda e o texto da interface?¶
A página de ajuda do aplicativo é carregada em web/site_faq/. Por exemplo, o espanhol usa site_faq_es.html; defina $faqfilelang = 'es' quando o idioma deve ser selecionado explicitamente. Mantenha um arquivo traduzido completo para cada idioma suportado.
Para alterações curtas na interface, use $vocab_override[LANG][TOKEN] em config.inc.php em vez de editar web/lang/lang.*. Os campos personalizados do banco de dados usam tokens como entry.catering.
Consulte issue #2432 e Texto e traduções.
Relatórios, multisite e personalização¶
Como um trabalho agendado pode exportar um relatório ou dados do iCalendar?¶
Os relatórios GET não autenticados ficam desabilitados por padrão. Se as informações puderem ser expostas desta forma, habilite-as deliberadamente e restrinja-as com:
$report_unauthenticated_get_enabled = true;
$report_keys_enabled = true;
$report_keys = ['a-long-random-secret'];
$report_open_areas = [1];
$report_open_rooms = [];
Use uma chave difícil de adivinhar, uma lista restrita de áreas e salas permitidas, HTTPS e um agendador protegido. Teste a saída real sem estar conectado. O URL de um relatório funciona, na prática, como uma credencial e pode aparecer em logs ou no histórico do navegador.
Consulte issue #3742 e Pesquisa e relatórios.
Vários sites MRBS podem compartilhar um conjunto de tabelas?¶
Não, não se suas reservas e configurações precisarem ser separadas. Cada site precisa de suas próprias tabelas MRBS, seja em um banco de dados separado ou com uma $db_tbl_prefix exclusiva em um banco de dados compartilhado. O código pode ser compartilhado, mas os conjuntos de tabelas não devem se sobrepor.
Crie as tabelas de cada site com os scripts de esquema MRBS e aplique seu prefixo de forma consistente. Consulte issue #3917 e Multisite.
Todas as visualizações ou temas solicitados estão disponíveis por meio de configuração?¶
Não. Solicitações como inserir texto adicional da sala em um layout de calendário específico, vincular reservas que de outra forma seriam independentes, adicionar níveis de acesso ou substituir a arquitetura do tema podem exigir alterações de código. Antes de aplicar um patch de um problema de suporte:
- verifique se 1.12.2 já possui configuração ou ponto de extensão;
- manter a alteração fora dos arquivos gerados e do fornecedor;
- adicione testes para criação, edição, exclusão, privacidade e permissões; e
- registre a personalização para a próxima atualização.
Os exemplos incluem problema de visualização personalizada #2223 e pedido de tema #22.