O PHP utiliza módulos ou extensões para adicionar funcionalidades específicas às aplicações, como acesso a bancos de dados, processamento de imagens, arquivos compactados, criptografia, comunicação com APIs e manipulação de diferentes formatos de dados.
Nos servidores de hospedagem da Invirtua, as extensões PHP são administradas através do EasyApache 4 (EA4), plataforma padrão do cPanel.
Diferentemente da versão do PHP e de algumas variáveis de configuração, os módulos PHP não são ativados ou desativados individualmente pelo cliente através do cPanel.
Os principais módulos necessários às aplicações Web são disponibilizados pelo servidor de acordo com cada versão do PHP.
1. O que são módulos ou extensões PHP?
Uma instalação básica do PHP possui diversas funções próprias, mas vários recursos adicionais dependem de extensões.
Alguns exemplos comuns são:
| Extensão | Utilização comum |
mysqli |
Conexão com bancos de dados MySQL e MariaDB. |
pdo_mysql |
Acesso a MySQL e MariaDB através da interface PDO. |
mbstring |
Manipulação de textos e caracteres multibyte, incluindo UTF-8. |
curl |
Comunicação HTTP/HTTPS com APIs e serviços externos. |
openssl |
Recursos de criptografia e comunicação segura. |
gd |
Criação e processamento de imagens. |
imagick |
Processamento avançado de imagens através do ImageMagick, quando disponível no servidor. |
zip |
Criação, leitura e manipulação de arquivos ZIP. |
intl |
Internacionalização, localização, moedas, datas e regras linguísticas. |
soap |
Comunicação com serviços Web que utilizam o protocolo SOAP. |
bcmath |
Operações matemáticas de precisão arbitrária. |
exif |
Leitura de metadados EXIF de imagens. |
fileinfo |
Identificação do tipo e conteúdo de arquivos. |
opcache |
Cache do código PHP compilado para melhoria de desempenho. |
Essa lista contém apenas alguns exemplos. A disponibilidade pode variar conforme a versão PHP e a configuração do servidor.
2. Como os módulos PHP são administrados?
Os servidores utilizam o EasyApache 4, componente oficial do cPanel responsável pelo gerenciamento das versões do PHP e de suas extensões.
As extensões são instaladas pelo administrador do servidor para cada versão do PHP.
Isso significa, por exemplo, que uma extensão pode estar disponível para PHP 8.3 e não estar instalada para outra versão.
Por esse motivo, ao alterar a versão PHP de uma aplicação, é recomendável também verificar se todas as extensões exigidas pelo sistema estão disponíveis na nova versão.
3. Posso ativar ou desativar um módulo pelo cPanel?
Não individualmente.
No ambiente padrão cPanel com EasyApache 4, o cliente pode administrar pelo painel:
- a versão PHP utilizada por cada domínio, através do MultiPHP Manager;
- diversas variáveis e limites do PHP, através do MultiPHP INI Editor.
Já a instalação ou remoção de extensões PHP é uma configuração realizada no servidor.
Se sua aplicação exigir uma extensão que não esteja disponível, entre em contato com nosso suporte informando o nome do módulo e a versão PHP utilizada.
4. Como verificar se um módulo está disponível?
A própria aplicação normalmente informa quando uma extensão obrigatória não está instalada.
CMSs, frameworks, sistemas de comércio eletrônico e instaladores costumam apresentar mensagens semelhantes a:
Required PHP extension "intl" is missing.
ou:
PHP extension zip is not installed.
Nesse caso, informe ao suporte:
- o domínio onde a aplicação está instalada;
- a versão PHP utilizada;
- o nome da extensão solicitada;
- a mensagem de erro apresentada pela aplicação.
5. Verificando através do phpinfo()
Usuários com conhecimento técnico também podem consultar as extensões e configurações carregadas através da função phpinfo().
Para isso, crie temporariamente um arquivo, por exemplo:
phpinfo.php
contendo:
<?php phpinfo(); ?>
Depois acesse o arquivo através do navegador:
https://seudominio.com.br/phpinfo.php
A página exibirá informações sobre a versão do PHP, extensões carregadas e diversas configurações do ambiente.
Importante: exclua o arquivo phpinfo.php imediatamente após concluir a consulta.
O resultado do phpinfo() revela diversas informações técnicas sobre o ambiente do servidor e não deve permanecer publicamente acessível.
6. A versão do PHP influencia os módulos disponíveis?
Sim.
Cada versão do PHP possui seu próprio conjunto de extensões instalado no servidor.
Por exemplo, ao alterar um domínio de PHP 7.4 para PHP 8.x, a aplicação passará a utilizar as extensões correspondentes à versão PHP selecionada.
Antes de atualizar uma aplicação em produção, recomendamos verificar:
- compatibilidade da aplicação com a nova versão PHP;
- compatibilidade de plugins e temas;
- extensões PHP obrigatórias;
- bibliotecas utilizadas pela aplicação;
- requisitos informados pelo desenvolvedor do sistema.
7. PHP 7.4 e aplicações antigas
O PHP 7.4 é mantido em nossos servidores exclusivamente para compatibilidade com aplicações legadas que ainda não funcionam corretamente nas versões atuais.
Para novos projetos e aplicações atualizadas, recomendamos utilizar uma versão PHP 8.x ou superior compatível com o sistema.
Se um sistema depender de uma extensão antiga que não esteja disponível ou não seja mais compatível com versões atuais do PHP, recomendamos avaliar a atualização da própria aplicação.
8. Composer instala extensões PHP?
Não.
O Composer é utilizado para instalar e administrar bibliotecas PHP utilizadas pelas aplicações.
Extensões como:
intl;mysqli;gd;imagick;zip;soap;
fazem parte do ambiente PHP do servidor e não podem ser instaladas pelo Composer.
Uma aplicação instalada pelo Composer pode, inclusive, depender de determinadas extensões e informar essa dependência durante sua instalação.
9. Posso instalar uma extensão manualmente na minha conta?
Em uma hospedagem compartilhada, extensões PHP que dependem de instalação no sistema operacional ou alteração da configuração global do PHP não podem ser instaladas diretamente pelo usuário da conta.
Se você precisa de uma extensão específica, entre em contato com nosso suporte para verificarmos:
- se ela já está instalada;
- se existe para a versão PHP utilizada;
- se é compatível com o ambiente de hospedagem;
- se pode ser disponibilizada com segurança no servidor.
10. Nem toda extensão pode ser instalada
Algumas extensões podem depender de bibliotecas externas, serviços adicionais, versões específicas do sistema operacional ou configurações que não sejam apropriadas para um ambiente de hospedagem compartilhada.
Por isso, a disponibilidade de uma extensão é avaliada tecnicamente antes da instalação.
Em aplicações com requisitos muito específicos, pode ser necessário utilizar um servidor virtual ou ambiente dedicado onde seja possível controlar integralmente o sistema operacional e a configuração do PHP.
11. O que fazer quando uma aplicação exige uma extensão?
Primeiro confirme qual extensão está sendo solicitada.
Por exemplo:
ext-intl ext-zip ext-soap ext-gd ext-imagick
Depois confirme qual versão PHP está configurada para o domínio através do:
cPanel → Software → MultiPHP Manager
Se necessário, encaminhe essas duas informações ao nosso suporte.
Evite alterar aleatoriamente a versão PHP apenas para tentar eliminar a mensagem de erro. Uma versão diferente pode resolver uma dependência e criar várias outras incompatibilidades na aplicação.
12. Diferença entre versão, extensão e variável PHP
| Item | Exemplo | Onde é administrado |
| Versão PHP | PHP 8.3 | MultiPHP Manager |
| Variável PHP | memory_limit = 256M |
MultiPHP INI Editor |
| Extensão PHP | intl, gd, zip |
EasyApache 4 / administração do servidor |
13. Resumo
- A versão PHP pode ser selecionada pelo cliente através do MultiPHP Manager.
- Limites e variáveis podem ser alterados através do MultiPHP INI Editor.
- Extensões PHP são instaladas e administradas no servidor através do EasyApache 4.
- A disponibilidade de extensões pode variar entre versões do PHP.
- Se sua aplicação exigir um módulo ausente, entre em contato com o suporte.
14. Suporte
Se sua aplicação informar que uma extensão PHP obrigatória não está disponível, entre em contato através do e-mail suporte@invirtua.com.br.
Para agilizar o atendimento, informe:
- o domínio;
- a versão PHP utilizada;
- o nome da extensão necessária;
- a mensagem de erro apresentada pela aplicação.
