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:
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:
php -version
php -a
phpinfo();Com isto, verá tudo: versão, caminho do php.ini, ficheiros .ini carregados e mais. Exemplo real:
PHP Version => 7.4.13
Configuration File (php.ini) Path => /etc/php/7.4/cli
Loaded Configuration File => /etc/php/7.4/cli/php.ini2) 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.
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):
sudo nano /etc/php/7.4/fpm/php.iniProcure por [browscap] e substitua a linha:
;browscap = extra/browscap.ini
browscap = /etc/php/7.4/mods-available/browscap.iniGuarde e feche. Agora, reinicie os serviços para aplicar as alterações:
Para PHP:
sudo service php7.4-fpm restartPara Apache:
sudo apache2ctl restartPara Nginx:
sudo nginx -s reloadResultado? 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!






