Esse erro FATAL ERROR: register_globals is disabled in php.ini, ocorre quando a diretiva register_globals está desativada. Alguns defendem que deixar o register_globals ativo é uma falha de segurança, já outros não sabem trabalhar sem ele. Bom, esse post não tem o objetivo de dizer o que é certo ou errado, mas sim mostrar como resolver esse problema.
A solução, que sempre funcionou para mim, é criar um arquivo .htaccess na pasta principal, public_html. Então abra o bloco de notas e insira o seguinte:
Como desativar o register globals:
#desativando o register globals |
php_flag register_globals off |
Order allow,deny |
Allow from all |
Como ativar o register globals:
#ativando o register globals |
php_flag register_globals on |
Order allow,deny |
Allow from all |
Após ativar ou desativar, salve o arquivo como .htaccess e envie para o public_html.
Outro forma possível é através de um php.ini, mas a opção de utilizar php.ini pra resetar configurações do servidor precisa estar ativo no servidor em questão, isso é feito unicamente pelo administrador do servidor. Vamos supor que este recurso esteja liberado para você, veja então como proceder:
- Crie um arquivo chamado php.ini
- Abra-o com o bloco de notas e digite o seguinte:
Para desativar o register_globals:
register_globals = off |
Para ativar o register_globals:
register_globals = on |
Um detalhe importante é que você precisa enviar esse arquivo php.ini para dentro de cada pasta onde o recurso é exigido. Vamos supor que você tenha a seguinte cadeia de diretórios www/scripts/site01, e também que há um script que precisa do register globals ativo dentro da pasta scripts e outro dentro da pasta site01, nesse caso você precisará enviar o arquivo que criamos – php.ini -, para dentro dessas duas pastas: scripts e site01.
Espero que você, assim como eu, tenha conseguido resolver seus problemas com o register_globals, mas caso essa idéia não tenha funcionado pra você, sugiro que entre em contato com a empresa onde você hospeda o site, talvez o servidor precise de procedimentos específicos para solucionar esse erro.
Pronto.
