Desbloqueie o Poder do get_browser() em PHP: Elimine Erros Críticos com a Instalação Certa do browscap.ini!

Está farto de ver mensagens de erro como “PHP Warning: get_browser(): browscap ini directive not set” sempre que tenta usar a função get_browser() no PHP? A função não reconhece corretamente os browsers modernos e cada tentativa de ativação no php.ini resulta num pesadelo de warnings e fatal errors? Esta solução pode salvar o seu servidor e transformar o caos em controlo absoluto!

Erro Fatal à Vista? Veja Como Resolver Já!

Se ao tentar usar get_browser() surge algo como:

Bash
PHP Warning: get_browser(): browscap ini directive not set in /ipfail.org/public_html/...
PHP Warning: Cannot open 'extra/browscap.ini' for reading in Unknown on line 0
PHP Fatal error: Unable to start standard module in Unknown on line 0

… então o seu sistema está a implorar por um browscap.ini actualizado – ou por uma instalação correta que NUNCA foi feita!

Passo-a-Passo Definitivo Para Ubuntu / Debian – Totalmente Testado!

1) Localize o PHP Instalado no Seu Sistema

Normalmente, o PHP vive em /etc/php/, com a versão funcional em algo como /etc/php/7.4/. Confirme com:

Bash
php -version
php -a
phpinfo();

Com isto, verá tudo: versão, caminho do php.ini, ficheiros .ini carregados e mais. Exemplo real:

Bash
PHP Version => 7.4.13
Configuration File (php.ini) Path => /etc/php/7.4/cli
Loaded Configuration File => /etc/php/7.4/cli/php.ini

2) Instale a Versão CORRETA do browscap.ini

Entre no modo turbo com a instalação do browscap.ini atualizado — essencial para que get_browser() funcione sem falhas.

Bash
sudo wget http://browscap.org/stream?q=PHP_BrowsCapINI
sudo mv 'stream?q=PHP_BrowsCapINI' /etc/php/7.4/mods-available/browscap.ini

💡 Dica de ouro: use apenas a versão especial para PHP do site oficial browscap.org.

3) Ative o browscap.ini no ficheiro php.ini

Edite o php.ini da sua instalação FPM (ou CLI, conforme o seu ambiente):

Bash
sudo nano /etc/php/7.4/fpm/php.ini

Procure por [browscap] e substitua a linha:

Bash
;browscap = extra/browscap.ini
browscap = /etc/php/7.4/mods-available/browscap.ini

Guarde e feche. Agora, reinicie os serviços para aplicar as alterações:

Para PHP:
Bash
sudo service php7.4-fpm restart
Para Apache:
Bash
sudo apache2ctl restart
Para Nginx:
Bash
sudo nginx -s reload

Resultado? Navegadores detetados com precisão milimétrica, sem mais erros, sem dores de cabeça. A função get_browser() vai finalmente funcionar como sempre deveria!

Artigos Relacionados