Mensagens recentes

#1
Tutorial SMFPT / Integrando a API do StopForumS...
Última mensagem por candidosa2 - 03 de Junho de 2026, 02:24
Introdução
A segurança de um fórum é fundamental para manter a integridade e a confiança dos seus membros. Um dos principais desafios que os administradores de fóruns enfrentam é lidar com spammers e bots maliciosos que tentam registrar-se e publicar conteúdo indesejado. Para combater esse problema, é possível integrar a API do StopForumSpam no Simple Machines Forum (SMF) 2.1, uma solução eficaz para banir spammers e proteger a sua comunidade.

O que é o StopForumSpam?
O StopForumSpam é uma base de dados global que armazena informações sobre IPs e e-mails maliciosos conhecidos por serem utilizados por spammers. Ao integrar a API do StopForumSpam no seu fórum SMF, você pode verificar automaticamente se um novo registro de usuário está associado a um IP ou e-mail listado na base de dados do StopForumSpam.

Ativando a Verificação Nativa
Para ativar a verificação nativa do StopForumSpam no SMF 2.1, você precisará seguir os seguintes passos:
Passo 1: Acesse o painel de administração do seu fórum SMF e navegue até a seção Configurações > Segurança e Privacidade.
Passo 2: Encontre a opção Verificação de spammers e selecione StopForumSpam como o provedor de verificação.
Passo 3: Configure as opções de verificação de acordo com as suas necessidades, como a frequência de verificação e as ações a serem tomadas quando um spammer for detectado.

Instalando o Mod do StopForumSpam
Se você preferir utilizar um mod para integrar a API do StopForumSpam no seu fórum SMF, você precisará seguir os seguintes passos:
Passo 1: Baixe o mod do StopForumSpam a partir do site oficial do SMF.
Passo 2: Instale o mod no seu fórum SMF utilizando o Package Manager.
Passo 3: Configure as opções do mod de acordo com as suas necessidades.

Conclusão
A integração da API do StopForumSpam no SMF 2.1 é uma solução eficaz para banir spammers e proteger a sua comunidade. Com a verificação nativa ou via mod, você pode verificar automaticamente se um novo registro de usuário está associado a um IP ou e-mail listado na base de dados do StopForumSpam. Lembre-se de que a segurança do seu fórum é fundamental para manter a integridade e a confiança dos seus membros.

Citação🛑 Cansado de apagar bots e utilizadores falsos manualmente?
Proteja a sua comunidade de forma definitiva. Se precisa de um tema premium, moderno, que afaste bots invasores e funcione perfeitamente em telemóveis, conheça o portfólio de design da Aplic.com.

Citação🛑 Cansado de apagar bots e utilizadores falsos manualmente?
Proteja a sua comunidade de forma definitiva. Se precisa de um tema premium, moderno, que afaste bots invasores e funcione perfeitamente em telemóveis, conheça o portfólio de design da Aplic.com.n
#2
Tutorial SMFPT / Como resolver o erro 'Database...
Última mensagem por candidosa2 - 03 de Junho de 2026, 02:22
Introdução ao Erro 'Database error'
O erro 'Database error' é um dos problemas mais comuns que os administradores de fóruns SMF enfrentam. Este erro genérico pode ser causado por uma variedade de motivos, incluindo tabelas corrompidas, problemas de conexão com a base de dados ou erros de sintaxe em queries SQL. Neste artigo, vamos explorar como ativar os detalhes do erro no ficheiro Settings.php e descobrir a tabela corrompida que está causando o problema.

Ativando os Detalhes do Erro
Para começar a resolver o erro 'Database error', é necessário ativar os detalhes do erro no ficheiro Settings.php. Isso pode ser feito adicionando a linha $db_show_debug = 1; ao final do ficheiro. Esta linha de código instrui o SMF a exibir informações detalhadas sobre o erro, incluindo a query SQL que causou o problema e a tabela afetada.

Identificando a Tabela Corrompida
Uma vez que os detalhes do erro estejam ativados, é possível identificar a tabela corrompida que está causando o problema. Ao visualizar a página de erro, você deve ver uma mensagem que inclui a query SQL que causou o erro e a tabela afetada. Por exemplo, a mensagem pode incluir algo como Table 'smf_members' is marked as crashed and should be repaired. Isso indica que a tabela 'smf_members' está corrompida e precisa ser reparada.

Reparando a Tabela Corrompida
Para reparar a tabela corrompida, você pode usar o utilitário de reparo de tabelas do SMF. Isso pode ser feito acessando a página de manutenção do fórum e selecionando a opção 'Reparar Tabelas'. Em seguida, selecione a tabela corrompida e clique no botão 'Reparar' para iniciar o processo de reparo.

Conclusão
O erro 'Database error' pode ser um problema frustrante para os administradores de fóruns SMF, mas com as informações certas, é possível resolver o problema de forma eficaz. Ao ativar os detalhes do erro no ficheiro Settings.php e identificar a tabela corrompida, você pode tomar as medidas necessárias para reparar a tabela e restaurar a funcionalidade do seu fórum.

Citação🛠️ Não consegue resolver este erro ou tem medo de mexer na base de dados?
Deixe que os engenheiros e programadores especialistas da Aplicsistemas.com reparem o seu fórum SMF com total segurança e rapidez.

Citação🛠️ Não consegue resolver este erro ou tem medo de mexer na base de dados?
Deixe que os engenheiros e programadores especialistas da Aplicsistemas.com reparem o seu fórum SMF com total segurança e rapidez.
#3
SMF 2.1.x Módulos Manual / Mostrar Respostas e Visualizaç...
Última mensagem por candidosa2 - 01 de Junho de 2026, 00:47

Solução mais rápida

No ficheiro:
Themes/default/Display.template.php

procura:
<p>', $txt['started_by'], ' ', $context['topic_poster_name'], ', ', $context['topic_started_time'], '</p>';
e logo abaixo adiciona:
echo '
<p>
    <strong>Respostas:</strong> ', $context['num_replies'], '
    &nbsp;&nbsp;|&nbsp;&nbsp;
    <strong>Visualizações:</strong> ', $context['num_views'], '
</p>';





#4
Tutorial SMFPT / Como corrigir o erro '8: Undef...
Última mensagem por candidosa2 - 28 de Maio de 2026, 02:40
Como Administrador Sénior de Fóruns e Programador Core do Simple Machines Forum (SMF), deparo-me frequentemente com administradores de comunidades preocupados com o crescimento exponencial dos seus logs de erros. Um dos culpados mais comuns e persistentes é o infame 8: Undefined index.

Embora este erro raramente cause uma quebra total do seu fórum (as famosas "páginas brancas" ou erros de base de dados), ele é um sintoma claro de código desleixado, modificações (mods) mal integradas ou temas desatualizados que tentam aceder a variáveis inexistentes. A longo prazo, milhares de registos deste erro podem sobrecarregar a sua base de dados, degradar a performance do servidor e dificultar a deteção de problemas realmente graves.

Neste artigo técnico detalhado, vamos compreender a anatomia deste erro, aprender a isolar a modificação ou tema culpado, limpar os logs de forma segura e aplicar correções de código definitivas.

O QUE É O ERRO '8: UNDEFINED INDEX' NO PHP E SMF?

No ecossistema do PHP (a linguagem de programação na qual o SMF é construído), um "index" (ou índice) refere-se a uma chave específica dentro de uma matriz de dados (Array). Por exemplo, na variável $context['forum_name'], a palavra 'forum_name' é o índice.

O erro 8: Undefined index ocorre quando o código do SMF, de um Mod ou de um tema tenta ler o valor de um índice que ainda não foi definido ou inicializado na memória.

Por que razão o SMF regista isto como um erro? O PHP, por padrão, gera um aviso menor (Notice) quando isto acontece e continua a executar o script. No entanto, a filosofia do SMF é manter o código o mais limpo e otimizado possível. Por isso, o manipulador de erros do SMF captura estes avisos e escreve-os no log do fórum para que os programadores possam corrigir estas falhas de lógica.

AS CAUSAS MAIS COMUNS DO PROBLEMA

Existem três cenários típicos que geram este erro no seu fórum:

1. Modificações Desatualizadas ou Incompletas: Instalar um Mod concebido para o SMF 2.0.x num fórum SMF 2.1.x (ou vice-versa) resulta frequentemente em incompatibilidades de variáveis. O Mod assume que uma determinada variável global existe, mas a nova versão do SMF removeu-a ou alterou o seu nome.
2. Temas Personalizados Desatualizados: Os criadores de temas, por vezes, esquecem-se de declarar variáveis de controlo ou tentam chamar dados do utilizador (ex: $txt['custom_string']) sem antes carregar o respetivo ficheiro de idioma.
3. Atualizações de Versão do PHP: Se atualizou recentemente o PHP do seu servidor (por exemplo, do PHP 7.4 para o PHP 8.0 ou 8.1), o motor do PHP tornou-se muito mais estrito com avisos de desenvolvimento, expondo erros que antes passavam despercebidos.

COMO ISOLAR E IDENTIFICAR O CULPADO

Antes de deitar as mãos ao código, precisamos de recolher dados. Não tente adivinhar qual é o Mod que está a causar o erro. Siga este processo científico de isolamento:

Passo 1: Limpar o Log de Erros Atual
Se o seu log tem centenas de páginas, fica difícil saber quais os erros que estão a ocorrer ativamente neste momento.
1. Aceda ao Painel de Administração.
2. Vá a Manutenção do Fórum -> Logs -> Log de Erros.
3. Clique em Limpar todos os erros.
Não se preocupe, isto não afeta o funcionamento do fórum, apenas liberta espaço na base de dados.

Passo 2: Recriar o Erro
Navegue pelo seu fórum como um utilizador normal. Clique em tópicos, aceda ao perfil, envie uma mensagem privada e visualize o portal (se tiver um). Volte ao Log de Erros e verifique se surgiram novas entradas.

Passo 3: Analisar a Mensagem de Erro e o Backtrace
Cada registo de erro no SMF fornece informações cruciais. Analise este exemplo típico:

8: Undefined index: member_stars
Ficheiro: /home/user/public_html/Sources/Load.php
Linha: 1240

Esta mensagem diz-nos exatamente:
- O índice em falta: member_stars- O ficheiro onde o erro ocorreu: Load.php (na pasta /Sources/)
- A linha exata do código: 1240
Muitas vezes, o SMF fornece também um link para ver o "Backtrace" (rastreio de execução). Clique nele para ver a rota que o PHP fez até chegar ao erro. Se o ficheiro listado for, por exemplo, /Themes/nome_do_tema/Display.template.php, saberá imediatamente que o culpado é o seu tema atual e não um ficheiro core do SMF.

COMO RESOLVER O ERRO NO CÓDIGO (EXEMPLOS PRÁTICOS)

Uma vez identificado o ficheiro e a linha, descarregue o ficheiro via FTP e abra-o num editor de texto profissional (como o Notepad++, VS Code ou Sublime Text). Nunca use o Bloco de Notas do Windows, pois este corrompe a codificação UTF-8.

Aqui estão as duas abordagens técnicas para corrigir o erro:

Abordagem A: Adicionar uma Verificação de Existência (isset ou empty)

Se o código tentar ler uma variável que pode não estar definida em todos os contextos, deve verificar primeiro se ela existe usando a função isset() ou !empty() do PHP.

Código Problemático Original:
if ($context['member_stars'] == 5)
{
    // Faz alguma ação aqui
}

Código Corrigido e Seguro:
if (isset($context['member_stars']) && $context['member_stars'] == 5)
{
    // Faz alguma ação de forma segura
}
Com esta alteração, o PHP apenas avalia o valor de member_stars se a variável realmente existir na memória, eliminando por completo o erro "Undefined index".

Abordagem B: Definir um Valor Padrão (Fallback)

Se a variável for necessária para exibição de texto ou cálculos, pode usar o operador de coalescência nula (disponível a partir do PHP 7.0) ou um operador ternário simples para atribuir um valor padrão caso o índice não exista.

Código Problemático Original:
echo $txt['custom_mod_title'];

Código Corrigido (Usando operador ternário simples):
echo !empty($txt['custom_mod_title']) ? $txt['custom_mod_title'] : 'Título Padrão';

Código Corrigido (Usando Coalescência Nula no PHP 7+):
echo $txt['custom_mod_title'] ?? 'Título Padrão';

RESOLVER ERROS DE IDIOMA (ARQUIVOS DE TRADUÇÃO)

Se o índice indefinido começar por $txt (por exemplo, 8: Undefined index: gallery_title no ficheiro /Themes/default/languages/), o problema reside quase de certeza na falta de tradução de um Mod.

Muitos criadores de Mods apenas inserem as linhas de idioma nos ficheiros ingleses (Modifications.english.php). Se o seu fórum corre em Português (Modifications.portuguese.php), o SMF tentará procurar a variável de idioma em português, não a encontrará e disparará o erro de índice indefinido.

Como Corrigir:
1. Abra o ficheiro correspondente em Inglês (ex: /Themes/default/languages/Modifications.english.php).
2. Procure pela chave em falta (ex: $txt['gallery_title'] = 'Gallery';).
3. Copie essa linha de código.
4. Abra o ficheiro equivalente em Português (ex: /Themes/default/languages/Modifications.portuguese.php).
5. Cole a linha antes da tag de fecho ?> e traduza o valor:
$txt['gallery_title'] = 'Galeria';

COMO LIMPAR GRANDES QUANTIDADES DE LOGS DE FORMA SEGURA

Se ignorou este erro durante meses, a sua tabela smf_log_errors na base de dados pode ter crescido até atingir centenas de megabytes (ou gigabytes), tornando o painel de administração do SMF inacessível ou extremamente lento ao tentar limpar os logs por via normal.

Nesse caso extremo, deve limpar a tabela diretamente através do phpMyAdmin:

1. Aceda ao painel de controlo da sua hospedagem (cPanel, DirectAdmin, etc.) e abra o phpMyAdmin.
2. Selecione a base de dados do seu fórum SMF.
3. Procure pela tabela smf_log_errors (o prefixo smf_ pode variar dependendo da sua instalação).
4. Clique no separador Operações (Operations) no topo.
5. Em baixo, clique na opção vermelha Esvaziar a tabela (TRUNCATE) ou Empty the table (TRUNCATE).

Aviso de Segurança: NUNCA utilize a opção "Eliminar" (DROP), pois isso apagará a estrutura da tabela por completo e causará erros críticos no fórum. A opção TRUNCATE apenas esvazia as linhas de dados, mantendo a estrutura intacta e saudável.

Seguindo estes passos rigorosos de diagnóstico e correção de código, o seu fórum SMF ficará livre do erro '8: Undefined index', garantindo uma base de dados mais leve, um carregamento de página ligeiramente mais rápido e logs limpos para diagnosticar problemas futuros com verdadeira eficácia.

Citação🛠️ Não consegue resolver este erro ou tem medo de mexer na base de dados?
Deixe que os engenheiros e programadores especialistas da Aplicsistemas.com reparem o seu fórum SMF com total segurança e rapidez.

Citação🛠️ Não consegue resolver este erro ou tem medo de mexer na base de dados?
Deixe que os engenheiros e programadores especialistas da Aplicsistemas.com reparem o seu fórum SMF com total segurança e rapidez.
#5
Tutorial SMFPT / Corrigir ecrã branco (White Sc...
Última mensagem por candidosa2 - 27 de Maio de 2026, 07:01
INTRODUÇÃO: O QUE É O ECRÃ BRANCO DA MORTE (WSOD)?

Se atualizou recentemente a versão do PHP do seu servidor para o PHP 8.0, 8.1, 8.2 ou superior, e o seu fórum Simple Machines Forum (SMF) na versão 2.0.x de repente deixou de funcionar, apresentando apenas uma página em branco (o temido White Screen of Death), não entre em pânico. Este é um comportamento extremamente comum e esperado quando se tenta correr código legacy (antigo) num interpretador de PHP moderno.

Neste artigo técnico detalhado, vamos analisar a fundo o porquê de isto acontecer, quais as incompatibilidades críticas entre o SMF 2.0 e o PHP 8.x, como depurar o erro para encontrar a linha exata do problema e, finalmente, as soluções definitivas para colocar a sua comunidade online novamente.

A CAUSA TÉCNICA: PORQUE É QUE O PHP 8.X QUEBRA O SMF 2.0?

O Simple Machines Forum da ramificação 2.0.x foi originalmente desenhado há mais de uma década, numa altura em que o PHP 5.3 a 5.6 eram os padrões de desenvolvimento. Ao longo dos anos, a equipa de desenvolvimento do PHP foi removendo funções obsoletas e introduzindo uma tipagem muito mais estrita nas versões PHP 7.x e, de forma muito mais agressiva, no PHP 8.x.

Aqui estão os três principais culpados técnicos que causam o colapso do SMF 2.0 antigo no PHP 8.x:

1. Remoção Completa da Função create_function()[/b]
A função create_function() foi depreciada no PHP 7.2 e completamente removida no PHP 8.0. O SMF 2.0 utilizava esta função em vários ficheiros das Sources/ (como no motor de busca e na integração de BBCode) para criar funções anónimas dinamicamente. No PHP 8, chamar esta função resulta num Fatal Error fatal instantâneo, parando a execução do script e gerando o ecrã branco.

2. Fim do Acesso a Arrays com Chavetas {}[/b]
Antigamente, o PHP permitia aceder a elementos de um array ou caracteres de uma string usando chavetas, como por exemplo: $string{0}. No PHP 8.0, esta sintaxe foi completamente abolida, sendo agora obrigatório o uso de parênteses retos: $string[0]. O código antigo do SMF está repleto desta sintaxe desatualizada.

3. Passagem de Parâmetros Inválidos a Funções Internas
No PHP 8.x, muitas funções internas do PHP passaram de emitir avisos (warnings) para lançar exceções de tipo (TypeError) ou erros fatais quando recebem argumentos inválidos (como passar um valor null para uma função que espera uma string).

PASSO 1: COMO DESCOBRIR O ERRO EXATO (REMOVER O ECRÃ BRANCO)

Para corrigir o erro, primeiro precisamos de saber o que o PHP está a reportar nos bastidores. O ecrã branco acontece porque a diretiva display_errors está desligada por motivos de segurança no seu servidor de alojamento.

Para forçar a exibição do erro técnico, siga estes passos:

Abra o ficheiro index.php na diretoria raiz do seu fórum através de FTP ou do Gestor de Ficheiros do cPanel.
Logo após a tag de abertura do PHP , adicione as seguintes linhas de código:

ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);

Guarde o ficheiro e recarregue a página do seu fórum. Em vez de uma página em branco, verá agora uma mensagem de erro detalhada indicando o ficheiro exato, a linha e o motivo do erro (por exemplo: Fatal error: Uncaught Error: Call to undefined function create_function() in /Sources/Subs-Db-mysql.php on line...).

A SOLUÇÃO IDEAL E RECOMENDADA: ATUALIZAR PARA O SMF 2.1.X

Como programador core e administrador sénior de fóruns, a minha recomendação oficial é categórica: deve atualizar o seu fórum para o SMF 2.1.x o mais rápido possível.

A versão 2.1.x do Simple Machines Forum foi totalmente reescrita e otimizada para suportar nativamente as versões modernas do PHP, incluindo o PHP 8.0 e PHP 8.1. Além de resolver de vez todos os problemas de compatibilidade, o SMF 2.1 traz melhorias drásticas de segurança, um sistema de notificações moderno, suporte nativo a emojis, design responsivo para telemóveis e melhorias significativas no SEO.

Para atualizar com segurança:
  • Faça um backup completo da sua base de dados e de todos os ficheiros via cPanel.
  • Descarregue o pacote "Large Upgrade" do SMF 2.1.x no site oficial do Simple Machines.
  • Extraia os ficheiros e envie-os por FTP para o seu servidor, substituindo os ficheiros antigos (com a exceção do Settings.php e Settings_bak.php).
  • Execute o script upgrade.php no seu navegador (ex: seusite.com/forum/upgrade.php) e siga as instruções no ecrã.

A SOLUÇÃO TEMPORÁRIA: APLICAR PATCHES MANUAIS NO SMF 2.0

Se por algum motivo de força maior (como modificações pesadas ou temas altamente customizados que não quer perder de imediato) tiver de manter o SMF 2.0, terá de aplicar as correções manualmente.

A última versão estável da árvore antiga, o SMF 2.0.19, introduziu compatibilidade preliminar com versões mais recentes do PHP (até ao PHP 8.0). Se o seu fórum está numa versão como a 2.0.15 ou inferior, terá de atualizar passo a passo até à 2.0.19 usando o Gestor de Pacotes do SMF, ou aplicar os patches manualmente nos ficheiros das Sources/.

Aqui está como corrigir manualmente um dos erros mais comuns de incompatibilidade no ficheiro Sources/Load.php ou Sources/Subs.php relativos à sintaxe obsoleta:

Substitua instâncias de acesso com chavetas:
// Código Antigo Incompatível
$txt{'error_message'} = 'Erro';

Pela sintaxe de parênteses retos compatível com PHP 8.x:
// Código Corrigido e Moderno
$txt['error_message'] = 'Erro';

Para erros com create_function(), a lógica terá de ser reescrita para funções anónimas nativas (Arrow Functions ou Anonymous Functions do PHP 7/8). Exemplo genérico:

// Código Antigo
$func = create_function('$a, $b', 'return strlen($b) - strlen($a);');

// Código Novo Compatível
$func = function($a, $b) {
    return strlen($b) - strlen($a);
};

Lembre-se que aplicar patches manuais em dezenas de ficheiros do SMF 2.0 é um processo moroso, propenso a falhas e que apenas adia o problema inevitável. A migração para o SMF 2.1.x continua a ser a única solução 100% segura a longo prazo.

CONCLUSÃO E PRÓXIMOS PASSOS

Manter o seu fórum seguro e rápido exige que acompanhe as atualizações tecnológicas da própria internet. O PHP 8.x traz uma velocidade de processamento incrível, mas exige um código limpo e moderno. Se se deparou com o ecrã branco, aproveite esta oportunidade para modernizar a sua comunidade, limpando mods antigos que já não usa e migrando para a versão mais estável e segura do SMF.

Citação🛠️ Não consegue resolver este erro ou tem medo de mexer na base de dados?
Deixe que os engenheiros e programadores especialistas da Aplicsistemas.com reparem o seu fórum SMF com total segurança e rapidez.

Citação🛠️ Não consegue resolver este erro ou tem medo de mexer na base de dados?
Deixe que os engenheiros e programadores especialistas da Aplicsistemas.com reparem o seu fórum SMF com total segurança e rapidez.
#6
Tutorial SMFPT / Guia Completo: Como limpar tab...
Última mensagem por candidosa2 - 25 de Maio de 2026, 04:53
Como Administrador Sénior de Fóruns e Programador Core do Simple Machines Forum (SMF), deparo-me frequentemente com administradores desesperados porque o seu fórum, outrora ultra-rápido, começou a arrastar-se. Páginas que demoram segundos a carregar, erros de ligação à base de dados (Connection Timeouts) e cópias de segurança que demoram horas a concluir.

Na esmagadora maioria dos casos, o culpado não é o servidor em si, mas sim o crescimento descontrolado de duas tabelas específicas na base de dados do SMF: smf_log_actions (registo de ações) e smf_log_errors (registo de erros).

Neste guia técnico detalhado, vamos compreender por que razão estas tabelas crescem tanto, o impacto devastador que têm no desempenho do MySQL/MariaDB e como limpá-las de forma 100% segura, tanto através do Painel de Administração do SMF como diretamente via phpMyAdmin.

COMPREENDER O IMPACTO DAS TABELAS DE LOG NO SMF

O SMF é uma plataforma extremamente robusta e detalhada. Para garantir a segurança e a rastreabilidade, ele regista quase tudo o que acontece nos bastidores:

  • smf_log_actions: Esta tabela armazena o histórico de todas as ações administrativas e de moderação. Sempre que um tópico é movido, um post é apagado, um membro é banido, ou uma definição é alterada no painel de controlo, uma nova linha é inserida aqui. Em fóruns grandes ou com forte atividade de moderação (e bots a tentar registar-se), esta tabela pode facilmente atingir milhões de registos.
  • smf_log_errors: Esta tabela regista todos os erros de PHP, consultas SQL falhadas, tentativas de login inválidas e avisos gerados por modificações (mods) desatualizadas ou erros de compatibilidade de templates. Se o seu fórum tiver um mod com um pequeno "bug" que gera um aviso silencioso a cada visualização de página, esta tabela crescerá gigabytes em poucos dias.
Quando estas tabelas ultrapassam certas marcas de tamanho (geralmente acima de 500MB ou milhões de linhas), o MySQL começa a sofrer com a leitura física de dados do disco, os índices deixam de caber na memória RAM (Buffer Pool) e as consultas de escrita (INSERT) nestas tabelas começam a bloquear outras consultas vitais do fórum, resultando em lentidão generalizada.

COMO LIMPAR OS LOGS ATRAVÉS DO PAINEL DE ADMINISTRAÇÃO

O SMF possui ferramentas nativas para a manutenção destas tabelas. Esta é sempre a primeira abordagem recomendada, pois o SMF lida internamente com a integridade dos dados.

Limpar o Registo de Erros (smf_log_errors):

  • Aceda ao seu painel de Administração.
  • Navegue até Manutenção do Fórum -> Rotina.
  • Procure a opção Limpar registo de erros (ou esvaziar log de erros).
  • Confirme a operação. O SMF executará internamente uma consulta otimizada para esvaziar a tabela.

Limpar o Registo de Ações (smf_log_actions):

  • No painel de Administração, aceda a Manutenção do Fórum.
  • Clique no separador Registos (Logs).
  • Aqui encontrará opções para remover entradas mais antigas que um determinado número de dias (por exemplo, remover logs com mais de 30 dias).
  • Defina o limite desejado e execute a limpeza.

No entanto, se o seu fórum já estiver extremamente lento ou se as tabelas forem gigantescas, tentar limpá-las pelo painel de administração pode resultar num erro 504 Gateway Timeout ou Fatal Error: Maximum execution time exceeded. Isto acontece porque o PHP desiste antes que o MySQL consiga terminar de apagar milhões de linhas. Se for este o seu caso, terá de passar para o nível seguinte.

LIMPEZA AVANÇADA VIA PHPMYADMIN (SQL)

Quando a interface web falha, precisamos de comunicar diretamente com o motor da base de dados usando o phpMyAdmin (disponível no painel de controlo do seu alojamento, como cPanel ou DirectAdmin).

AVISO OBRIGATÓRIO: Antes de executar qualquer comando SQL diretamente na base de dados, efetue um backup completo da mesma. Um erro de sintaxe ou a seleção da tabela errada pode corromper o seu fórum de forma irreversível.

Passo 1: Aceder à Base de Dados
Abra o phpMyAdmin, selecione a base de dados correspondente ao seu fórum SMF na barra lateral esquerda e clique no separador SQL no menu superior.

Passo 2: Esvaziar o Registo de Erros
Como os erros antigos raramente têm utilidade prática após serem analisados, podemos esvaziar completamente esta tabela de forma instantânea usando o comando TRUNCATE. Este comando é extremamente rápido porque recria a tabela vazia em vez de apagar linha por linha.

Execute o seguinte comando (ajuste o prefixo smf_ se a sua base de dados utilizar outro):

TRUNCATE TABLE smf_log_errors;
Passo 3: Limpeza Seletiva do Registo de Ações
Ao contrário dos erros, poderá querer manter as ações de moderação dos últimos dias para auditoria. Vamos utilizar um comando que elimina apenas os registos com mais de 30 dias.

Como o SMF armazena o tempo no formato UNIX Timestamp (segundos desde 1970), utilizaremos uma função matemática para calcular o tempo retroativo:

DELETE FROM smf_log_actions WHERE log_time < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY));
Se a tabela smf_log_actions estiver tão grande que o comando acima cause um "crash" no servidor devido ao bloqueio de tabelas, a solução mais rápida e radical é esvaziá-la por completo:

TRUNCATE TABLE smf_log_actions;
Passo 4: Otimizar as Tabelas (Libertar Espaço em Disco)
No MySQL (especialmente se usar o motor InnoDB), quando apaga dados de uma tabela, o espaço em disco não é devolvido imediatamente ao sistema operativo; ele fica guardado internamente como "espaço livre" (overhead) para novas inserções. Para encolher fisicamente os ficheiros no disco e reorganizar os índices, deve otimizar as tabelas afetadas.

Execute este comando:

OPTIMIZE TABLE smf_log_actions, smf_log_errors;
PREVENÇÃO E CONFIGURAÇÃO DE MANUTENÇÃO AUTOMÁTICA

Para evitar ter de repetir este processo manualmente de poucos em poucos meses, o SMF possui ferramentas de automação que deve configurar corretamente:

1. Configurar Tarefas Agendadas (Scheduled Tasks):
Certifique-se de que as tarefas de limpeza do SMF estão ativas e a funcionar.
  • Aceda a Administração -> Configuração.
  • Procure por Tarefas Agendadas (Scheduled Tasks).
  • Verifique se a tarefa Limpar Registos de Atividade Antigos (Auto-prune Log Tables) está ativa. Recomendo configurá-la para correr diariamente ou semanalmente.

2. Monitorizar Erros de PHP:
Se a sua tabela smf_log_errors cresce gigabytes por semana, isso significa que existe um erro grave de código a ser executado repetidamente. Não se limite a apagar o log. Leia as primeiras linhas do log antes de o esvaziar, identifique qual o mod ou ficheiro de tradução que está a causar o erro e corrija-o ou desinstale o mod problemático. Um log de erros silencioso é o maior segredo para um fórum SMF rápido.

Citação⚡ Mesmo com otimizações o seu fórum continua lento?
O SMF exige leitura rápida de base de dados e discos velozes. Mude hoje para os servidores Cloud NVMe Ultra-Rápidos da Aplichost.com e sinta a diferença na velocidade da sua comunidade instantaneamente.

Citação⚡ Mesmo com otimizações o seu fórum continua lento?
O SMF exige leitura rápida de base de dados e discos velozes. Mude hoje para os servidores Cloud NVMe Ultra-Rápidos da Aplichost.com e sinta a diferença na velocidade da sua comunidade instantaneamente.
#7
Tutorial SMFPT / Como Corrigir o Ecrã Branco (W...
Última mensagem por candidosa2 - 25 de Maio de 2026, 04:47
INTRODUÇÃO: O QUE É O ECRÃ BRANCO (WSOD) NO SMF 2.0?

Muitos administradores de fóruns que ainda utilizam a ramificação Simple Machines Forum (SMF) 2.0 deparam-se com um cenário assustador ao atualizar a versão do PHP do servidor para as versões 8.0, 8.1 ou superiores: o temido White Screen of Death (WSOD) ou Ecrã Branco da Morte. Em vez de visualizarem o fórum ou o painel de administração, deparam-se com uma página inteiramente em branco, sem qualquer indicação visual de erro.

Como Administrador Sénior de Fóruns e Programador Core do SMF, trago-lhe este artigo técnico detalhado para explicar o porquê de isto acontecer, como diagnosticar a causa exata na sua infraestrutura, como aplicar correções manuais temporárias nas suas Sources e, mais importante, como planejar a migração definitiva para garantir a segurança e a longevidade da sua comunidade online.

A CAUSA TÉCNICA: A INCOMPATIBILIDADE DO SMF 2.0 COM O PHP 8.X

A arquitetura do SMF 2.0 foi desenhada e desenvolvida numa era em que o PHP 5.3 a 5.6 eram os padrões da indústria. Embora as versões de manutenção mais recentes do SMF 2.0 (como a 2.0.19) tenham recebido retrocompatibilidade para o PHP 7.4, o PHP 8.0 introduziu alterações de quebra estrutural (breaking changes) massivas na linguagem.

O motor do PHP 8.0 removeu diversas funções obsoletas e tornou estritas muitas regras de sintaxe que antes resultavam apenas em avisos (warnings ou notices). No PHP 8.x, estas falhas resultam agora em Fatal Errors, interrompendo imediatamente a execução do interpretador PHP antes mesmo de o SMF carregar o seu sistema de templates.

As principais incompatibilidades de código que causam o ecrã branco no SMF 2.0 são:

1. Uso de create_function(): Esta função foi declarada obsoleta no PHP 7.2 e totalmente removida no PHP 8.0. O SMF 2.0 e modificações antigas usavam amplamente esta função para compilar expressões regulares e callbacks de busca.
2. Sintaxe de chavetas para offsets de strings: A utilização de chavetas para aceder a caracteres de uma string, como $string{0}, foi descontinuada e gera erro fatal no PHP 8.0. O correto agora é o uso de parêntesis retos: $string[0].
3. Passagem de parâmetros nulos a funções nativas: O PHP 8.x é extremamente rigoroso com parâmetros do tipo null passados para funções internas como strlen(), preg_match() ou explode() que esperam strings.
4. Construtores de classes obsoletos: Métodos construtores com o mesmo nome da classe (estilo PHP 4) já não são suportados.

DIAGNÓSTICO: COMO ENCONTRAR O ERRO ESCONDIDO

O ecrã branco ocorre porque o seu servidor está configurado para não exibir erros diretamente aos visitantes por motivos de segurança (display_errors = Off). Para resolver o problema, precisamos primeiro de ver o erro de forma explícita.

Passo 1: Verificar o log de erros do servidor
Aceda ao gestor de ficheiros da sua alojamento ou ligue-se via FTP/SFTP. Na diretoria raiz do seu fórum SMF, procure por um ficheiro chamado error_log ou php_error.log. Abra-o e desça até às últimas linhas. Irá encontrar algo semelhante a isto:

PHP Fatal error: Uncaught Error: Call to undefined function create_function() in /home/user/public_html/Sources/Subs.php:XXXX
Passo 2: Ativar temporariamente a exibição de erros no ecrã
Se não encontrar o ficheiro de log, pode forçar o SMF e o servidor a mostrarem o erro diretamente no navegador. Abra o ficheiro index.php na raiz do seu fórum e, logo após a tag inicial , adicione as seguintes linhas de código:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

Guarde o ficheiro e atualize o seu navegador. O ecrã branco deverá ser substituído por uma mensagem de erro detalhada, apontando o ficheiro exato e a linha que estão a falhar nas suas Sources ou Themes.

A SOLUÇÃO IMEDIATA: RETROCEDER A VERSÃO DO PHP

Se o seu fórum está offline e necessita de o restabelecer imediatamente para que os utilizadores não fiquem sem acesso, o método mais rápido não passa por editar código, mas sim por retroceder temporariamente a versão do PHP no seu painel de controlo (cPanel, Plesk, DirectAdmin ou consola CLI do servidor).

1. Aceda ao painel administrativo da sua conta de alojamento.
2. Procure pela opção Selecionar Versão do PHP (Select PHP Version ou MultiPHP Manager).
3. Altere a versão do domínio do seu fórum para o PHP 7.4.
4. Clique em "Aplicar" ou "Guardar".

O seu fórum SMF 2.0 voltará a funcionar instantaneamente. No entanto, tenha em atenção que o PHP 7.4 atingiu o Fim de Vida Útil (EOL - End of Life) oficial em novembro de 2022. Manter o seu servidor a correr uma versão obsoleta do PHP expõe o seu site a vulnerabilidades de segurança severas e a uma performance degradada. Esta ação deve ser vista apenas como um passo de transição temporário.

RESOLUÇÃO MANUAL: APLICAR PATCHES NAS SOURCES (A VIA COMPLEXA)

Se o seu provedor de alojamento removeu o suporte ao PHP 7.4 e o obriga a usar PHP 8.x, e caso não consiga atualizar imediatamente o fórum devido a modificações personalizadas antigas, terá de aplicar correções manuais no código core do SMF 2.0.

Abaixo estão as correções estruturais para os dois erros mais comuns que causam o bloqueio total do fórum:

Caso 1: Corrigir o erro de aceso a strings com chavetas (ex. Subs.php, Load.php)
Se o seu log apontar para erros de sintaxe com parêntesis encaracolados em offsets de strings, procure pela linha indicada.
Código Antigo Incompatível:
$char = $string{0};
Substitua por:
$char = $string[0];

Caso 2: Corrigir erros de create_function() em callbacks e expressões regulares
O PHP 8 não suporta create_function. Terá de reescrever a chamada usando funções anónimas nativas (closures).
Código Antigo Incompatível:
$text = preg_replace_callback($pattern, create_function('$matches', 'return strtolower($matches[1]);'), $text);
Substitua por (Sintaxe Moderna PHP 8):
$text = preg_replace_callback($pattern, function($matches) {
    return strtolower($matches[1]);
}, $text);

Nota: Estas correções manuais exigem conhecimentos profundos de programação em PHP. Executar estes passos de forma incorreta pode comprometer gravemente a integridade dos dados e o funcionamento da base de dados do fórum.

A SOLUÇÃO DEFINITIVA: UPGRADE ABSOLUTO PARA O SMF 2.1.X

A aplicação de patches manuais no SMF 2.0 para compatibilidade com o PHP 8.x é um esforço inglório de curto prazo. À medida que o servidor for atualizado para o PHP 8.1, 8.2 ou 8.3, novos avisos e erros fatais irão surgir devido a outras dezenas de bibliotecas desatualizadas.

A única solução viável e segura a longo prazo é a atualização estrutural para a ramificação SMF 2.1.x (atualmente na sua versão mais estável e madura). O SMF 2.1 foi totalmente reescrito com suporte nativo robusto e otimizado para as versões mais modernas do PHP 8.x, trazendo também melhorias extraordinárias de segurança, um novo sistema de notificações, melhor suporte para dispositivos móveis (responsividade) e uma gestão de anexos moderna.

Resumo do Processo de Upgrade Seguro:

1. Backup Integral e Redundante: Faça um backup completo de todos os ficheiros do servidor via FTP e exporte a base de dados MySQL (recomenda-se via phpMyAdmin ou SSH em formato gzip).
2. Fórum em Modo de Manutenção: Ative o modo de manutenção no seu painel de administração SMF para evitar que utilizadores publiquem novos dados durante a transição.
3. Download do Large Upgrade: Descarregue o pacote "Large Upgrade" oficial do SMF 2.1.x diretamente do site oficial do Simple Machines.
4. Limpeza de Ficheiros Antigos: Apague todos os ficheiros antigos do SMF 2.0 do seu servidor, EXCETO os ficheiros críticos de configuração como o Settings.php, Settings_bak.php, e as pastas de uploads/anexos (attachments, avatars, smileys).
5. Upload dos Novos Ficheiros: Extraia e envie todos os ficheiros do pacote "Large Upgrade" para o servidor, substituindo o que for necessário.
6. Definir Permissões de Escrita: Certifique-se de que os ficheiros Settings.php e Settings_bak.php têm permissões de escrita adequadas (geralmente chmod 644 ou 666, dependendo do ambiente do servidor).
7. Executar o Script de Upgrade: No seu navegador, aceda ao endereço: https://www.oseuforum.com/upgrade.php. Siga as instruções detalhadas exibidas no ecrã para atualizar a estrutura da sua base de dados para o novo padrão.
8. Remover o Ficheiro de Instalação: Por motivos óbvios de segurança, remova o ficheiro upgrade.php do servidor imediatamente após o sucesso da operação.

CONSIDERAÇÕES FINAIS E SEGURANÇA DA SUA COMUNIDADE

Tentar manter um fórum do calibre do SMF 2.0 a correr em sistemas desatualizados é um risco crítico de segurança. Os ataques automatizados que exploram vulnerabilidades em versões antigas de PHP e de software de fóruns são constantes. Ao garantir que o seu sistema corre sob o PHP 8.x e com o SMF 2.1, estará a proteger os dados pessoais dos seus membros e a proporcionar uma experiência de navegação infinitamente mais rápida e agradável.

Se o processo de migração ou a resolução manual de erros fatais de programação lhe parecerem demasiado complexos ou arriscados, recomendamos vivamente que procure o apoio de técnicos especializados em gestão de bases de dados e migrações de software web.

Se após seguir este guia ainda se deparar com o ecrã branco no seu fórum, ou se preferir que uma equipa de engenheiros de sistemas sénior trate de toda a migração, correção de erros de PHP e atualização do seu Simple Machines Forum com total segurança, sem perda de tópicos, membros ou dados históricos, contacte a Aplicsistemas.com. Somos especialistas em infraestruturas web, otimização de bases de dados e resolução imediata de erros críticos de sistemas corporativos e comunitários.
#8
Tutorial SMFPT / Como ativar e configurar a Cac...
Última mensagem por candidosa2 - 25 de Maio de 2026, 04:43
Como ativar e configurar a Cache Nativa do SMF para acelerar o carregamento
===DIVISAO===
INTRODUÇÃO AO SISTEMA DE CACHE DO SMF
O Simple Machines Forum (SMF) é mundialmente reconhecido pela sua eficiência, leveza e arquitetura de código extremamente bem estruturada. No entanto, à medida que uma comunidade cresce em volume de membros ativos, tópicos e acessos simultâneos, o consumo de recursos do servidor tende a escalar rapidamente. Cada visualização de página exige dezenas de consultas (queries) à base de dados MySQL/MariaDB e o processamento repetitivo de scripts PHP.

Para mitigar o consumo excessivo de processamento (CPU) e evitar o temido esgotamento de recursos do servidor, o SMF vem equipado de fábrica com um robusto sistema de cache nativo. Quando configurado corretamente, este mecanismo armazena os dados mais requisitados diretamente na memória temporária do servidor. Isto elimina a necessidade de ler a base de dados a cada clique, proporcionando uma navegação fluida, instantânea e altamente otimizada para os utilizadores.

OS QUATRO NÍVEIS DE CACHE DO SMF EXPLICADOS
O SMF disponibiliza quatro níveis distintos de cache (numerados de 0 a 3). Cada nível representa um patamar diferente de agressividade no armazenamento de dados. Compreender o impacto de cada um é fundamental para manter o equilíbrio entre velocidade e atualização de conteúdos em tempo real:

  • Nível 0 - Desativado: Neste nível, nenhuma informação do sistema é guardada em memória. Todas as requisições geram leituras completas na base de dados e no disco rígido. É recomendado exclusivamente para ambientes de desenvolvimento ou quando está a efetuar alterações profundas no código-fonte, garantindo que todas as modificações são exibidas imediatamente. Não deve ser utilizado em servidores de produção.
  • Nível 1 - Cache Básica (Recomendado): Este é o nível ideal para a grande maioria dos fóruns. Guarda em memória as tabelas de definições globais, ficheiros de idioma e as estruturas base do tema gráfico. O impacto no consumo de recursos é imediato, sem qualquer risco de exibir dados desatualizados ou inconsistentes aos utilizadores.
  • Nível 2 - Cache Média: Além de tudo o que é coberto pelo Nível 1, este patamar adiciona à cache as permissões de acesso de cada grupo de utilizadores, as listas de moderadores e as estruturas complexas de menus. É altamente recomendado para fóruns de média e grande dimensão que possuem uma árvore de categorias complexa e múltiplos grupos de permissões.
  • Nível 3 - Cache Agressiva: Este é o nível máximo de otimização. O SMF passa a guardar em cache quase todas as consultas SQL comuns, incluindo listas de tópicos recentes e informações de utilizadores online. Embora reduza ao mínimo absoluto o uso de CPU, este nível pode causar um ligeiro atraso (delay) na atualização de dados no ecrã. Por exemplo, um utilizador envia uma mensagem e esta pode demorar alguns segundos ou minutos a surgir na página principal para os outros utilizadores. Deve ser usado apenas em fóruns gigantescos com picos severos de tráfego.
ACELERADORES DE SERVIDOR SUPORTADOS
Para que a cache do SMF funcione com o máximo de performance, ela necessita de comunicar com um motor de aceleração instalado diretamente no ambiente PHP do servidor. Os principais aceleradores compatíveis com o SMF são:

OPcache (PHP OPcode Cache):
Embora não atue diretamente no armazenamento de consultas do SMF, o OPcache é o acelerador mais importante do PHP moderno. Ele compila o código PHP e guarda-o na memória RAM, evitando que o servidor tenha de interpretar e ler dezenas de ficheiros do fórum a cada carregamento de página. A sua ativação reduz o uso de CPU do servidor para menos de metade instantaneamente.

APCu (Alternative PHP Cache User):
O APCu é uma excelente solução de cache em memória para servidores dedicados ou servidores virtuais (VPS) de nó único. Ele destaca-se pela sua incrível velocidade ao guardar chaves e dados diretamente mapeados na RAM atribuída ao processo do PHP.

Memcached:
Uma solução de cache de objetos distribuída de alto desempenho. O Memcached corre como um serviço independente no servidor e é extremamente escalável. É a escolha ideal para fóruns de grande porte e infraestruturas que utilizam múltiplos servidores web em load balancing, uma vez que a cache pode ser acedida remotamente via IP ou socket local.

Redis:
Disponível nativamente nas versões mais recentes do SMF, o Redis é um motor de armazenamento de chaves-valor na memória RAM que oferece uma velocidade incrível e persistência de dados. É ideal para fóruns com fluxos maciços de tráfego que requerem uma gestão de cache ultra-rápida.

PASSO A PASSO: COMO CONFIGURAR E ATIVAR A CACHE
A ativação da cache pode ser feita de forma muito simples através da interface gráfica do painel de administração do SMF:

  • Aceda ao painel de Administração do seu fórum.
  • No menu lateral ou superior, navegue até Configurações do Fórum (ou Configurações do Servidor, dependendo da versão do seu SMF) e selecione a aba Cache.
  • No campo Nível de Cache, selecione o nível pretendido. Para a maioria dos cenários, o Nível 1 ou Nível 2 será a escolha mais equilibrada.
  • O instalador do SMF irá analisar o seu PHP e listar os aceleradores que estão ativos no seu alojamento. Selecione o motor correspondente (como APCu, Memcached ou Redis).
  • Se selecionar o Memcached ou o Redis, configure o campo de endereço do servidor. Por padrão, em servidores locais, utiliza-se localhost:11211 para Memcached e localhost:6379 para Redis.
  • Clique no botão Guardar para aplicar as alterações.
CONFIGURAÇÃO MANUAL VIA SETTINGS.PHP
Em situações raras de migração ou falhas de configuração do servidor, o fórum pode apresentar um ecrã em branco se o acelerador selecionado deixar de estar ativo no PHP. Para resolver isto, pode desativar ou alterar o motor de cache manualmente editando o ficheiro Settings.php que se encontra na diretoria raiz do seu fórum (via FTP ou Gestor de Ficheiros).

Abra o ficheiro Settings.php e localize as seguintes linhas de código, ajustando-as conforme necessário:

$cache_enable = 1; // Ajuste para 0 se precisar de desativar a cache temporariamente
$cache_accelerator = 'apcu'; // Insira o nome do acelerador suportado ou deixe vazio '' para nenhum
$cache_memcached = 'localhost:11211'; // Apenas se estiver a usar Memcached

Guarde o ficheiro e envie-o novamente para o servidor. O fórum voltará a funcionar imediatamente de acordo com os parâmetros inseridos.

RESOLUÇÃO DE PROBLEMAS E BOAS PRÁTICAS
Para garantir que o seu sistema de cache funciona sem sobressaltos, siga estas recomendações técnicas:

  • Permissões de Escrita: O SMF utiliza a pasta física /cache para armazenar ficheiros de cache temporários. Certifique-se de que esta pasta possui permissões corretas de escrita (geralmente 755 ou 777 dependendo das diretivas de segurança do seu servidor).
  • Limpar a Cache após Atualizações: Sempre que instalar um novo pacote de modificação (Mod), atualizar a versão do SMF ou aplicar alterações diretamente no ficheiro CSS ou JS do seu tema gráfico, deve limpar a cache do fórum. Isto força a regeneração dos ficheiros. Faça-o em Administração > Manutenção do Fórum > Rotina > Limpar a cache do fórum.
  • Monitorização da RAM: Os aceleradores em memória (como o Redis e o Memcached) dependem diretamente da RAM disponível na sua máquina. Certifique-se de que o seu plano de alojamento possui recursos de memória suficientes para evitar que o servidor entre em sobrecarga.
OTIMIZE O SEU FÓRUM COM A APLICHOST
Este artigo de otimização de performance é orgulhosamente patrocinado pela Aplichost.com.

Se o seu fórum SMF continua lento, com tempos de resposta elevados, ou se recebe frequentemente erros de limite de consumo de CPU excedido no seu alojamento atual, a solução está na Aplichost.

Com servidores especificamente configurados e otimizados para correr o Simple Machines Forum com a máxima fluidez, a Aplichost disponibiliza discos NVMe de última geração, o ultra-rápido LiteSpeed Web Server e suporte nativo completo para OPcache, APCu, Memcached e Redis pré-configurados. Eleve a velocidade da sua comunidade ao patamar mais alto e garanta a melhor experiência para os seus utilizadores. Visite hoje mesmo Aplichost.com e descubra os nossos planos de alojamento dedicados a comunidades de sucesso!
#9
Notícias e atualizações / SMF 2.1.7 Released
Última mensagem por candidosa2 - 25 de Maio de 2026, 04:02
[Atualização] SMF 2.1.7 Lançado: Correções de Erro, Sessões e Compatibilidade PHP

Olá a todos os administradores e entusiastas da nossa comunidade!

A equipa do Simple Machines anunciou oficialmente o lançamento de um novo patch para a linha 2.1.x do SMF, elevando a versão atual para o SMF 2.1.7. Esta é uma atualização de manutenção crucial que visa corrigir pequenos bugs, melhorar a segurança geral do sistema e otimizar a performance da vossa plataforma de discussão.

Se gere um fórum, recomendamos que planeie esta atualização o mais breve possível para garantir que o seu site se mantém seguro e totalmente funcional.

---

PRINCIPAIS NOVIDADES E CORREÇÕES NO SMF 2.1.7

Embora seja uma versão de manutenção, este patch traz melhorias estruturais importantes, com destaque para:

  • Remoção do PHPSESSID das URLs: Uma alteração vital para a segurança e para o SEO do seu fórum. A exposição do ID de sessão nas URLs podia comprometer a segurança dos utilizadores e gerar conteúdo duplicado nos motores de busca como o Google.
  • Correção na Fila de Emails (Mail Queue): Foram resolvidos problemas intermitentes que faziam com que as notificações por email ficassem presas ou falhassem no envio, melhorando a comunicação com os seus membros.
  • Otimizações Gerais de Código: Pequenas correções de compatibilidade e estabilidade da base de dados.
---

ALERTA DE COMPATIBILIDADE: PHP MODERNO VS SMF 2.0

Se ainda utiliza a versão SMF 2.0, este é um aviso crítico. As empresas de alojamento web estão a descontinuar versões antigas do PHP (como o PHP 5.6, 7.0 e 7.4) por motivos de segurança global.

O SMF 2.0 não é nativamente compatível com servidores modernos que correm PHP 8.1 ou superior. Se o seu servidor for atualizado pela sua empresa de alojamento, o seu fórum SMF 2.0 irá simplesmente deixar de funcionar, apresentando erros críticos ou uma "tela branca da morte".

A migração para a linha SMF 2.1.7 não é apenas recomendada para obter novos recursos, é uma necessidade de sobrevivência para o seu projeto online.

---

COMO EFETUAR A ATUALIZAÇÃO

O processo de atualização para quem já usa a versão 2.1.6 é simples e pode ser feito diretamente através do Gestor de Pacotes (Package Manager) no painel de administração.

Se precisar de aplicar patches manualmente ou descarregar os ficheiros diretamente, utilize o diretório oficial:

https://download.simplemachines.org/

Lembre-se sempre de realizar um backup completo da base de dados e dos ficheiros antes de iniciar qualquer procedimento de atualização.

---

Citação🛠️ Precisa de Suporte Profissional para o seu Fórum?
Alojamento de Elite: Proteja o seu fórum contra ataques de SPAM e garanta velocidade máxima mudando para a Aplichost.com.
Modificações e Upgrades: Tem um fórum SMF 2.0 ou 2.1 antigo e quer migrar com segurança ou criar um módulo exclusivo? A Aplicsistemas.com trata do código.
Designs Modernos: Torne o seu fórum totalmente responsivo e adaptado a telemóveis com templates premium desenvolvidos pela Aplic.com.
#10
Página de comentários / SMF 2.1.7 Released
Última mensagem por candidosa2 - 25 de Maio de 2026, 03:57
[Atualização] SMF 2.1.7 Lançado: Correções de Erro, Sessões e Compatibilidade PHP

Olá a todos os administradores e entusiastas da nossa comunidade!

A equipa do Simple Machines anunciou oficialmente o lançamento de um novo patch para a linha 2.1.x do SMF, elevando a versão atual para o SMF 2.1.7. Esta é uma atualização de manutenção crucial que visa corrigir pequenos bugs, melhorar a segurança geral do sistema e otimizar a performance da vossa plataforma de discussão.

Se gere um fórum, recomendamos que planeie esta atualização o mais breve possível para garantir que o seu site se mantém seguro e totalmente funcional.

---

PRINCIPAIS NOVIDADES E CORREÇÕES NO SMF 2.1.7

Embora seja uma versão de manutenção, este patch traz melhorias estruturais importantes, com destaque para:

  • Remoção do PHPSESSID das URLs: Uma alteração vital para a segurança e para o SEO do seu fórum. A exposição do ID de sessão nas URLs podia comprometer a segurança dos utilizadores e gerar conteúdo duplicado nos motores de busca como o Google.
  • Correção na Fila de Emails (Mail Queue): Foram resolvidos problemas intermitentes que faziam com que as notificações por email ficassem presas ou falhassem no envio, melhorando a comunicação com os seus membros.
  • Otimizações Gerais de Código: Pequenas correções de compatibilidade e estabilidade da base de dados.
---

ALERTA DE COMPATIBILIDADE: PHP MODERNO VS SMF 2.0

Se ainda utiliza a versão SMF 2.0, este é um aviso crítico. As empresas de alojamento web estão a descontinuar versões antigas do PHP (como o PHP 5.6, 7.0 e 7.4) por motivos de segurança global.

O SMF 2.0 não é nativamente compatível com servidores modernos que correm PHP 8.1 ou superior. Se o seu servidor for atualizado pela sua empresa de alojamento, o seu fórum SMF 2.0 irá simplesmente deixar de funcionar, apresentando erros críticos ou uma "tela branca da morte".

A migração para a linha SMF 2.1.7 não é apenas recomendada para obter novos recursos, é uma necessidade de sobrevivência para o seu projeto online.

---

COMO EFETUAR A ATUALIZAÇÃO

O processo de atualização para quem já usa a versão 2.1.6 é simples e pode ser feito diretamente através do Gestor de Pacotes (Package Manager) no painel de administração.

Se precisar de aplicar patches manualmente ou descarregar os ficheiros diretamente, utilize o diretório oficial:

https://download.simplemachines.org/

Lembre-se sempre de realizar um backup completo da base de dados e dos ficheiros antes de iniciar qualquer procedimento de atualização.

---

Citação🛠️ Precisa de Suporte Profissional para o seu Fórum?
Alojamento de Elite: Proteja o seu fórum contra ataques de SPAM e garanta velocidade máxima mudando para a Aplichost.com.
Modificações e Upgrades: Tem um fórum SMF 2.0 ou 2.1 antigo e quer migrar com segurança ou criar um módulo exclusivo? A Aplicsistemas.com trata do código.
Designs Modernos: Torne o seu fórum totalmente responsivo e adaptado a telemóveis com templates premium desenvolvidos pela Aplic.com.