Ao instalar uma aplicação em um servidor Windows (necessidade de projeto, adequação a infraestrutura do cliente), me deparei com o erro “NumberFormatter Not Found”.
A primeira reação foi verificar se havia esquecido algum commit de meu ambiente de desenvolvimento PHP Laravel local para o repositório Github, que tivesse uma correção de erro de namespace, não foi o caso.
Segunda opção para descobrir a causa: procurar no Google.
Prontamente recebi o retorno esperado, a extensão php intl
é responsável pelo NumberFormatter e não estava instalada ou habilitada no servidor IIS Windows.
Para tanto bastou editar o arquivo php.ini
e retirar o comentário da seguinte linha:
extension=ext/php_intl.dll
Na instalação do Windows funcionou normalmente, bastou salvar o arquivo php.ini
e chamar a aplicação novamente - estava rodando um comando php artisan
pelo terminal.
Porém, caso estivesse em um servidor Linux, compatível com Debian, como Ubuntu ou Mint (versões que geralmente utilizo), seria necessário instalar a extensão php intl no servidor.
Para fazer isso, bastaria executar a seguinte linha de comando no terminal:
sudo apt-get install php8.1-intl
Atenção a versão do PHP. Neste exemplo sugiro a versão 8.1, se você estiver usando PHP 7.x, ou superior à 8.1, ajuste a linha de comando de acordo.
Agora é só rodar a aplicação e vê-la funcionando sem erros - ao menos não referentes à esta extensão.
Comentários