Meu aplicativo PHP 7.2 está dando o erroMessage: Class 'NumberFormatter' not found
Nós estamos correndo:
- PHP 7.2.34
- CentOS Linux versão 7.9.2009 (Núcleo)
Tentei instalar o PHP-intl e parecia funcionar, pois agora, se eu tentar novamente, recebo isso:
# yum install php72-php-intl
# Package php72-php-intl-7.2.34-4.el7.remi.x86_64 already installed and latest version
# Nothing to do
Eu recarreguei o Apache, mas a extensão não está carregada:
php -m
não lista o módulo.- /usr/lib64/php/modules não contém
intl.so
Ao executar rpm -ql php72-php-intl
, posso ver que esses arquivos estão instalados:
/etc/opt/remi/php72/php.d/20-intl.ini
/opt/remi/php72/root/usr/lib64/php/modules/intl.so
Mas o extension_dir está definido como /usr/lib64/php/modules
Por que ele está instalado neste outro local? E como posso fazer com que ele seja instalado no diretório de módulos correto ou qual é a maneira correta de dizer ao PHP para carregar o arquivo .so de /opt/remi/php72/root/usr/lib64/php/modules ?
Isso corrigiu:
Ele instalou em /usr/lib64/php/modules . Além disso, não precisei adicioná-lo manualmente ao /etc/php.ini (e isso causou um erro de que ele já estava carregado)
Não sei por que
--enablerepo=remi
é necessário, ou o que significa - porqueyum install php72-php-intl
evidentemente o instala (embora no local errado e não ativado).Meu entendimento era que, se o repositório não estivesse ativado, ele não seria encontrado ou instalado.