Revisão técnica: 07/09/2026. Publicação original preservada.
Não é possível ativar register_globals nas versões modernas do PHP. O recurso foi removido no PHP 5.4. Este artigo substitui as instruções antigas de ativação por uma orientação de atualização da aplicação. A remoção está registrada no anúncio oficial do PHP 5.4.
Por que um sistema antigo pede essa configuração?
Aplicações antigas podiam esperar que parâmetros recebidos se transformassem automaticamente em variáveis comuns do programa. Assim, um valor enviado na URL poderia se misturar a variáveis internas. Esse comportamento criava problemas de previsibilidade e segurança; adicionar register_globals = On ao php.ini não o recupera em uma versão atual.
Como tratar os dados recebidos
O código deve buscar cada entrada explicitamente em sua origem e validar seu formato. Parâmetros da URL estão em $_GET; campos enviados por formulário POST normalmente estão em $_POST. A documentação de $_GET descreve esse acesso explícito.
Exemplo didático para ler um identificador inteiro positivo recebido pela URL:
<?php
$id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT, [
'options' => ['min_range' => 1],
]);
if ($id === null || $id === false) {
http_response_code(400);
exit('Identificador inválido.');
}
// Valide também a permissão do usuário antes de consultar ou alterar o recurso.
O filtro precisa ser escolhido explicitamente: o comportamento padrão de filter_input não sanitiza a entrada. Validar um inteiro também não substitui a autorização de acesso, consultas parametrizadas ou o escape adequado ao exibir dados em HTML. Veja a referência de filter_input.
Como atualizar a aplicação
- Identifique a versão do sistema e procure uma atualização mantida pelo fornecedor.
- Faça backup dos arquivos e do banco e prepare uma cópia de testes.
- Revise o código que depende de variáveis implícitas e teste formulários, autenticação e operações no banco.
- Valide a aplicação em uma versão suportada do PHP antes de trocar o ambiente público.
Voltar a uma versão obsoleta do PHP não resolve a manutenção do sistema. Se não houver atualização disponível, avalie a adaptação ou substituição da aplicação. A WebinHost oferece desenvolvimento de sistemas para projetos que precisam dessa revisão.