// hosting · Web Platform Advent #15
Hospedagem PHP explicada: partilhada vs VPS, versões e desempenho
O que procurar numa hospedagem PHP — partilhada vs VPS, versões e extensões de PHP, deployment, .htaccess e desempenho com OPcache — sem o ruído do marketing.
O PHP ainda alimenta uma grande fatia da web, e hospedá-lo é terreno bem pisado — o que é exatamente a razão pela qual as ofertas parecem todas iguais e as diferenças reais se escondem nos detalhes. Este guia cobre os critérios que realmente importam: o compromisso partilhada vs VPS, versões e extensões de PHP, como fazes o deploy, o que o .htaccess controla e os botões de desempenho que vale a pena conhecer.
Hospedagem partilhada vs VPS
A primeira decisão é quão isolado está o teu ambiente.
- Hospedagem partilhada — o teu site reside ao lado de muitos outros numa máquina, gerida por ti (PHP, servidor web, muitas vezes um painel de controlo). A mais barata e simples; cedes o controlo sobre a versão de PHP, as extensões e a configuração do servidor, e partilhas recursos com os vizinhos.
- VPS — uma fatia dedicada de um servidor com acesso root. Escolhes a versão de PHP, instalas qualquer extensão, afinas o servidor web e não és afetado por outros inquilinos — mas és responsável pelas atualizações e segurança.
Para um site pequeno ou um CMS padrão, a hospedagem partilhada costuma chegar. Opta por um VPS quando precisas de uma build de PHP específica, extensões personalizadas, desempenho mais previsível ou controlo total sobre a stack.
As versões de PHP importam
A versão de PHP não é um detalhe — as versões mais recentes são significativamente mais rápidas e, crucialmente, ainda recebem correções de segurança. Executar uma versão em fim de vida significa não mais patches. Verifica sempre que versões um host oferece e se podes trocar facilmente. Podes ler a versão em execução a partir do código ou da CLI:
<?php
echo phpversion(); // e.g. "8.3.x"
// or a full report:
phpinfo(); php -v Um bom host permite-te selecionar a versão de PHP por site (muitas vezes no painel de controlo) e mantém disponível uma gama de versões suportadas, para que possas atualizar ao teu próprio ritmo.
Extensões: verifica antes de te comprometeres
A funcionalidade do PHP está dividida por extensões, e a tua app provavelmente depende de várias — um driver de base de dados, processamento de imagem, e por aí fora. As comuns a verificar que um host fornece:
pdo_mysql/mysqli— conectividade MySQL/MariaDB.mbstring— processamento de strings multibyte, exigido por muitos frameworks.gdouimagick— processamento de imagem.curl,openssl,zip,intl— pedidos HTTP, encriptação, arquivos, localização.
Lista o que está efetivamente carregado no servidor com:
php -m
Deployment e .htaccess
Na hospedagem partilhada normalmente fazes o deploy enviando ficheiros (SFTP) ou fazendo pull do Git para a raiz web; alguns hosts acrescentam um passo de deploy a partir do painel. No Apache, o ficheiro .htaccess na tua raiz web configura o comportamento por diretório sem mexer na configuração principal do servidor — útil para URLs limpos, redirecionamentos e cabeçalhos de caching. Um padrão comum encaminha todos os pedidos para um front controller:
# .htaccess — route everything to index.php (front controller)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L] Repara que o .htaccess é uma funcionalidade do Apache. No Nginx as regras equivalentes residem na configuração do servidor, que na hospedagem partilhada podes não controlar — mais uma razão para saber que servidor web o teu host executa.
Desempenho: OPcache
O maior ganho isolado de desempenho em PHP é o OPcache, que faz cache do bytecode compilado para que o PHP não tenha de re-analisar e re-compilar os teus scripts a cada pedido. A maioria dos hosts modernos ativa-o por defeito; vale a pena confirmar. Definições típicas em php.ini:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=1 Em produção podes definir opcache.validate_timestamps=0 para que o PHP nunca verifique alterações nos ficheiros, e depois esvaziar a cache no deploy — espremendo um pouco mais de velocidade ao custo de precisar de um reset explícito da cache.
Checklist rápida
| Critério | O que perguntar |
|---|---|
| Isolamento | Partilhada (simples) ou VPS (controlo)? |
| Versão de PHP | Suportada, atual, comutável? |
| Extensões | As que a minha app precisa estão disponíveis? |
| Servidor web | Apache (.htaccess) ou Nginx? |
| Desempenho | O OPcache está ativado? |
A hospedagem PHP é madura, por isso não penses demais nos nomes das marcas — faz corresponder o host aos requisitos reais da tua app: a versão de PHP certa, as extensões de que dependes, um servidor web que compreendes e o OPcache ligado. Acerta nestes e o resto é, na maior parte, questão de preferência.