O módulo PHP intl é uma extensão da linguagem PHP, que fornece suporte de internacionalização e localização em seus aplicativos. Esta é uma estrutura essencial para traduzir mensagens em seu aplicativo que fornece suporte multilíngue para aplicativos PHP, permitindo que os desenvolvedores criem sites e aplicativos que podem ser facilmente traduzidos para diferentes idiomas. O módulo contém uma variedade de funções para lidar com texto, datas e números, incluindo agrupamento, normalização e análise de strings. Neste blog, discutiremos o que é o módulo PHP Intl, como instalá-lo em um servidor web OneClick OpenLiteSpeed ​​WordPress e erros comuns que ocorrem devido à falta de um módulo PHP Intl em uma instalação OpenLiteSpeed ​​WordPress. Você deve ter notado esse erro na página WordPress Site Health.

Erro relacionado ao módulo PHP Intl na tela WordPress Site Health Página Índice

O módulo PHP intl é uma ferramenta muito poderosa na maioria dos aplicativos da web que oferecem vários funções incluindo, mas não limitadas ao seguinte:

Agrupamento de texto: O módulo PHP Intl fornece funções para classificar texto em diferentes idiomas, permitindo que você classifique o texto de uma forma que faça sentido no idioma em que está sendo exibido. Normalização de texto: O módulo PHP Intl fornece funções para normalizar o texto, o que ajuda a garantir que o texto seja exibido corretamente em diferentes idiomas, mesmo em idiomas com diferentes sistemas de escrita. Análise de string: O módulo PHP Intl fornece funções para análise de strings, facilitando a extração de informações de texto em diferentes idiomas. Formatação de data e hora: O módulo PHP Intl fornece funções para formatar datas e horas em diferentes idiomas, permitindo que você exiba datas e horas de uma forma que faça sentido no idioma em que está sendo exibido. Formatação de número: O módulo PHP Intl fornece funções para formatar números em diferentes idiomas, permitindo que você exiba números de uma forma que faça sentido no idioma em que está sendo exibido. Tradução de mensagens: O módulo PHP Intl fornece funções para traduzir mensagens, permitindo que você forneça suporte multilíngue para o seu site ou aplicação. Classificando matrizes de texto em diferentes idiomas: O módulo PHP Intl fornece funções para classificar matrizes de texto de uma forma que faça sentido no idioma em que está sendo exibido. Convertendo texto entre diferentes scripts: O módulo PHP Intl fornece funções para converter texto entre diferentes scripts, permitindo que você exiba corretamente o texto em diferentes sistemas de escrita.

O módulo intl consiste em duas partes:

Um conjunto de funções para analisar e formatar datas, horas, números, valores monetários e outros tipos de dados de acordo com uma variedade de localidades convenções específicas. Uma estrutura para criar, carregar e armazenar em cache dados de localidade com base no padrão RFC3066 (unicode).

Erros comuns devido à falta do módulo PHP Intl na instalação OpenLiteSpeed ​​WordPress:

Se o módulo PHP Intl estiver faltando em uma instalação OpenLiteSpeed ​​WordPress, vários erros podem ocorrer. Alguns dos erros mais comuns incluem:

O erro “Illegal string offset” ao classificar arrays: Este erro ocorre ao tentar classificar um array usando a função sort(). O módulo PHP Intl fornece várias funções para classificar texto em diferentes idiomas, portanto, se o módulo estiver ausente, classificar texto em idiomas diferentes do inglês pode resultar nesse erro. O erro “Fatal error: Call to undefined function collator_create()”: Este erro ocorre ao tentar usar a função collator_create(), que faz parte do módulo PHP Intl. A função é usada para criar collators para classificar texto em diferentes idiomas, portanto, se o módulo estiver ausente, essa função não estará disponível e ocorrerá esse erro. O erro “Aviso: Uso da constante indefinida INTL_ICU_VERSION”: Este erro ocorre ao tentar usar a constante INTL_ICU_VERSION, que faz parte do módulo PHP Intl. A constante é utilizada para determinar a versão da biblioteca ICU que está instalada no servidor, portanto se faltar o módulo PHP Intl esta constante não será definida e ocorrerá este erro. “Erro fatal: Erro não detectado: Classe’IntlDateFormatter’não encontrada” “Erro fatal: Erro não detectado: Classe’IntlCalendar’não encontrada” “Erro fatal: Erro não detectado: Classe’IntlTimeZone’não encontrada” “Erro fatal: Erro não detectado: Classe’IntlGregorianCalendar’não encontrado” “Erro fatal: Erro não detectado: Class’Collator’não encontrado” “Erro fatal: Erro não detectado: Classe’MessageFormatter’não encontrado” “Erro fatal: Erro não detectado: Classe’NumberFormatter’não encontrado” “Fatal error: Uncaught Error: Class’Normalizer’not found” “Erro fatal: Uncaught Error: Call to undefined function intl_get_error_code()” “Fatal error: Uncaught Error: Call to undefined function intl_get_error_message()”

Como instalar o PHP Intl módulo no servidor web OneClick OpenliteSpeed ​​WordPress?

Instalar o módulo PHP Intl em um servidor web OneClick OpenLiteSpeed ​​WordPress é um processo relativamente simples. Aqui estão os passos a seguir:

Faça login no seu servidor via SSH Execute o seguinte comando para instalar o módulo PHP Intl: $ sudo yum install php-intl Reinicie o servidor OpenLiteSpeed ​​para que as alterações tenham efeito: sudo service lsws reinicie

 Para Ubuntu Linux, primeiro Adicione o LiteSpeed ​​Debian Repository e instale o módulo intl para sua versão do PHP.

$ sudo apt-get update $ wget-O-http://rpms.litespeedtech.com/debian/enable_lst_debian_repo.sh | bash $ sudo apt-get install lsphp81-intl//No caso do instalador do centOS ou Yum-> $ sudo yum install lsphp81-intl $ killall-9 lsphp $ systemctl restart lsws

No comando acima, estamos instalando o intl módulo para PHP versão 8.1, no caso do PHP 8.0 use o comando $ sudo apt-get install lsphp81-intl

Se você estiver usando WordPress, tente atualizar a página Site Health agora e o erro desaparecerá. Não se esqueça de limpar o plug-in de cache.

Você pode verificar a instalação criando um arquivo phpinfo.php em seu diretório raiz da web (com o seguinte conteúdo de código) e acessando-o em seu navegador:

Quando a página for carregada, procure por intl e certifique-se de que está habilitado.

Mostrando PHP intl Module habilitado em um OpenLiteSpeed ​​Web Server

Nota: As etapas acima são para o servidor web OpenLiteSpeed ​​instalado no Ubuntu 20.04 e posterior. O nome do pacote e as etapas podem variar para diferentes distribuições e versões.

Conclusão:

O módulo PHP Intl é uma ferramenta essencial para desenvolvedores que criam sites e aplicativos de idiomas. Com sua ampla gama de funções de internacionalização, ele fornece uma maneira padronizada de lidar com texto, números e datas em diferentes idiomas. A instalação do módulo PHP Intl em um servidor da Web OneClick OpenLiteSpeed ​​WordPress é um processo simples e pode ajudar a evitar vários erros comuns. Se você estiver criando um site ou aplicativo multilíngue, considere usar o módulo PHP Intl para garantir que seu aplicativo seja internacionalizado corretamente.

By Henry Taylor

Eu trabalho como desenvolvedor back-end. Alguns de vocês devem ter me visto na conferência de desenvolvedores. Ultimamente tenho trabalhado em um projeto de código aberto.