Olá, Kangaroozinho, como vai? As extensões do PHP fazem parte da sua hospedagem, e são peças essenciais no seu dia a dia, principalmente se você utiliza o WordPress ou têm outras aplicações instaladas (ou pretende instalar). As extensões são exigidas para muitos cenários, pois liberam pacotes e tornam possíveis várias ações com o seu PHP.
Neste artigo vamos falar um pouco sobre as extensões, e quais você deve ativar ou não na sua hospedagem, além de dar várias dicas com esse tema para evitar sobrecarga no servidor, mas sem atrapalhar o uso das suas ferramentas essenciais. Além disso, o maior detalhe às vezes não é nem o “quais” deve ativar, mas sim “quando”. Vamos lá, pequeno Kangaroo!
O que são as extensões na sua hospedagem
Primeiro, o que são as extensões? Basicamente, elas são um conjunto de módulos e/ou bibliotecas que complementam, facilitam e criam funcionalidades automaticamente para vários cenários, ferramentas e aplicações PHP. Em todo caso, a principal função é possibilitar que várias funções sejam possíveis sem que você precise fazer uma função do zero.
Usando outras palavras para exemplificar, imagine que o seu computador só pode ser desligado tirando da tomada (por algum motivo), e então você ativa uma função que pode desligar, reiniciar ou mesmo suspender o computador através do menu iniciar (windows). As extensões funcionam mais ou menos assim, pois habilita funções para ajudar diretamente nas suas aplicações.
Quando habilitar as extensões
Alguns usuários com o painel cPanel (ou outros) acabam habilitando todas as extensões disponíveis de uma só vez, o que é completamente NÃO recomendado. Quando você habilita todas as extensões de uma vez, você está habilitando vários módulos e bibliotecas que podem carregar em vários momentos desnecessários.
Isso pode tornar a sua hospedagem, site e aplicações muito mais lentos, podendo causar vários erros e até mesmo o limite de recursos da hospedagem ser atingidos em vários momentos, não só podendo aumentar a lentidão, como podendo causar o erro 503 (ou 508), que é causado normalmente por limite de recursos excedido.
Por isso, o ideal é que você só habilite as extensões quando elas forem necessárias. Abaixo vamos dar alguns exemplos de extensões que podem ser necessárias, e explicar os cenários:
- imagick
Se você utiliza um site WordPress, ou usa alguma função para converter e/ou redimensionar imagens, a extensão imagick pode ser necessária ou mesmo ajudar com isso. Ela é a extensão nativa que usa a API da ImageMagick, e pode ser essencial, dependendo do seu uso e aplicações. - redis
A extensão Redis tem se tornado cada dia mais essencial para quem busca sites mais rápidos. O Redis atua com o banco de dados (armazenando consultas), sessões dos usuários e dados temporários, tudo isso em memória (RAM), que é extremamente rápida.
Essa extensão tem algumas outras como exigência, como é o caso da msgpack e igbinary. No cPanel, se você habilitar a redis e alguma delas não estiverem ativadas, elas são habilitadas automaticamente. - mysqli
Essa extensão pode gerar um pouco de dúvida, já que existem algumas na lista, mas vamos te explicar: A extensão mysqli é a versão antiga, oficial da Oracle, que é responsável por conectar. manipular e gerenciar bancos de dados MySQL, sendo assim, essencial para o funcionamento do seu site WordPress, por exemplo.
Mas qual a diferença da extensão mysqli para a nd_mysqli? Basicamente, a extensão nd_mysqli foi construída pela própria equipe do PHP, para ser uma extensão nativa que se comunique diretamente com o PHP, se tornando mais rápida e otimizada, e que à partir da versão 8.2 do PHP (atualmente estamos na versão 8.5) se tornou o padrão.
Importante: Você não deve habilitar ambas ao mesmo tempo. Embora tenham a mesma função, elas são extensões diferentes que se comunicam de modos distintos, por isso, habilitar as duas ao mesmo tempo pode gerar problemas. - Extensões padrão do servidor
No painel, você pode ver algumas extensões marcadas com um azul mais claro, esses são módulos habilitados pelo servidor e que não podem ser desabilitados, pois a maioria tem função essencial.
Um exemplo é a extensão ftp, que permite a conexão externa via protocolo FTP, que permite o gerenciamento de arquivos com esse método diferente do padrão da hospedagem. Você também pode ver a extensão fileinfo habilitada, essa está com um azul mais forte, que significa que você pode habilitar ou desabilitar quando desejar.
Algumas extensões só devem ser habilitadas realmente se forem requisitadas por uma aplicação de forma indispensável, pois se forem habilitadas apenas por estar, podem causar problemas de desempenho, por serem mais pesadas e carregarem muitos elementos.
Alguns exemplos são as extensões snmp, ldap e oci8, que carregam várias bibliotecas externas para funções bastante específicas, e que o WordPress não utiliza. Outra extensão bem pesada é a xdebug, que quando ativa, rastreia toda função executada, e usando ela com sites ou aplicações em produção, pode esgotar os recursos da sua hospedagem em pouquíssimo tempo.
Para finalizar, se você ainda não sabe como habilitar ou desabilitar extensões na sua hospedagem, nossa equipe preparou um artigo onde mostramos passo a passo com imagens a fazer isso. Se tiver interesse, é só acessar este artigo.