Como Alterar a Versão do PHP no Seu Ambiente de Hospedagem (Guia Completo)
Gerenciar sua versão de PHP é uma das tarefas administrativas mais críticas para qualquer proprietário de site ou desenvolvedor. Quer você esteja atualizando para aproveitar as melhorias de desempenho mais recentes, fazendo downgrade para compatibilidade com aplicações legadas ou corrigindo vulnerabilidades de segurança, saber exatamente como alternar versões de PHP em diferentes ambientes de hospedagem é uma habilidade essencial. Este guia abrangente o orienta em todos os métodos disponíveis — desde a interface gráfica do cPanel até ferramentas de linha de comando em Hospedagem VPS e servidores dedicados.
Índice
- Por que o Gerenciamento de Versão PHP é Importante
- Compreendendo Versões PHP e Compatibilidade
- Método 1: Alterando a Versão PHP via cPanel (MultiPHP Manager)
- Método 2: Alterando a Versão PHP via .htaccess (Apache)
- Método 3: Alterando a Versão PHP via Linha de Comando (VPS/Servidores Dedicados)
- Método 4: Alterando a Versão PHP via php.ini
- Como Verificar sua Versão PHP Ativa
- Erros Comuns Após Alternar Versões PHP
- Melhores Práticas para Gerenciamento de Versão PHP
- Conclusão
1. Por que o Gerenciamento de Versão PHP é Importante {#why-it-matters}
PHP alimenta mais de 77% de todos os sites com uma linguagem do lado do servidor conhecida, incluindo plataformas importantes como WordPress, Joomla, Drupal e Magento. Cada lançamento principal de PHP introduz mudanças significativas:
- Ganhos de desempenho: PHP 8.x é dramaticamente mais rápido que PHP 5.x ou 7.x, graças ao compilador JIT (Just-In-Time).
- Patches de segurança: Versões antigas de PHP eventualmente atingem o Fim da Vida (EOL) e não recebem mais atualizações de segurança, deixando seu site exposto.
- Compatibilidade de aplicações: Alguns plugins, temas ou aplicações personalizadas mais antigos foram escritos para versões específicas de PHP e podem quebrar em lançamentos mais novos.
- Conformidade de hospedagem: Muitos provedores de hospedagem impõem requisitos mínimos de versão PHP para manter os padrões de segurança do servidor.
Falhar em gerenciar sua versão de PHP proativamente pode resultar em funcionalidade quebrada, violações de segurança ou até mesmo tempo de inatividade completo do site. Compreender como controlar essa configuração — independentemente do seu tipo de hospedagem — é inegociável para qualquer administrador web sério.
2. Compreendendo Versões PHP e Compatibilidade {#understanding-versions}
Antes de fazer qualquer alteração, é importante compreender o ciclo de vida do lançamento de PHP e como as versões são estruturadas.
Numeração de Versão PHP
PHP segue um esquema de versionamento MAJOR.MINOR.PATCH:
| Componente | Exemplo | Significado |
|---|---|---|
| Major | 8 | Mudanças arquitetônicas significativas, possíveis mudanças que quebram compatibilidade |
| Minor | 8.2 | Novos recursos, melhorias compatíveis com versões anteriores |
| Patch | 8.2.10 | Correções de bugs e patches de segurança apenas |
Ciclo de Vida de Suporte PHP
Cada versão menor de PHP recebe:
- Suporte ativo por aproximadamente 2 anos (correções de bugs + patches de segurança)
- Suporte apenas de segurança por um ano adicional
- Fim da Vida (EOL) após o qual nenhum patch é lançado
Versões PHP Atualmente Suportadas (a partir de 2024–2025)
| Versão PHP | Status | Notas |
|---|---|---|
| PHP 8.3 | Suporte Ativo | Lançamento estável mais recente |
| PHP 8.2 | Suporte Ativo | Recomendado para a maioria das aplicações |
| PHP 8.1 | Apenas Segurança | Ainda amplamente utilizado |
| PHP 8.0 | EOL | Evitar — sem patches de segurança |
| PHP 7.4 | EOL | Suporte legado apenas |
| PHP 7.3 e abaixo | EOL | Fortemente desaconselhado |
> Regra de ouro: Sempre execute a versão PHP mais alta que sua aplicação oficialmente suporta. Se seu CMS ou framework suporta PHP 8.2, não há razão para executar PHP 7.4.
3. Método 1: Alterando a Versão PHP via cPanel (MultiPHP Manager) {#cpanel-method}
cPanel é o painel de controle de hospedagem mais amplamente utilizado e fornece duas ferramentas integradas para gerenciamento de versão PHP: MultiPHP Manager (em todo o servidor ou por domínio) e MultiPHP INI Editor (para ajuste fino de configurações PHP). Se você estiver usando um VPS com cPanel, ambas as ferramentas estão disponíveis para você.
Passo 1: Faça Login no cPanel
- Abra seu navegador e navegue até sua URL de login do cPanel:
https://yourdomain.com:2083 (seguro, recomendado)
https://yourdomain.com/cpanelhttps://your-server-ip:2083- Digite seu nome de usuário do cPanel e senha.
- Clique em Fazer Login.
Passo 2: Abra o MultiPHP Manager
- No painel do cPanel, role até a seção Software.
- Clique em MultiPHP Manager.
> Alternativa: Algumas configurações do cPanel rotulam isso como Selecionar Versão PHP, Configuração PHP ou Seletor PHP (este último é comum em hospedagem compartilhada baseada em CloudLinux). A interface pode diferir ligeiramente, mas o processo é o mesmo.
Passo 3: Selecione seu Domínio e Versão PHP
Na interface do MultiPHP Manager:
- Você verá uma lista de todos os domínios e subdomínios hospedados em sua conta.
- Marque a caixa de seleção ao lado do domínio que deseja modificar.
- No menu suspenso Versão PHP no topo da página, selecione sua versão PHP desejada (por exemplo,
PHP 8.2). - Clique em Aplicar.
> Importante: Se você estiver em uma conta de hospedagem compartilhada, as versões PHP disponíveis são determinadas pelo seu provedor de hospedagem. Se você precisar de uma versão que não esteja listada, entre em contato com a equipe de suporte do seu host ou considere atualizar para um plano de Hospedagem VPS onde você tem controle total sobre as versões PHP instaladas.
Passo 4: (Opcional) Personalize as Configurações PHP via MultiPHP INI Editor
Após alternar versões, você pode precisar ajustar valores de configuração PHP:
- Retorne à seção Software no cPanel.
- Clique em MultiPHP INI Editor.
- Selecione seu domínio no menu suspenso.
- Modifique valores como:
memory_limit (por exemplo, 256M)
upload_max_filesize (por exemplo, 64M)
max_execution_time (por exemplo, 300)
post_max_size (por exemplo, 64M)
Clique em Aplicar para salvar as alterações.
Passo 5: Verifique a Alteração
Crie um arquivo de teste para confirmar a versão PHP ativa (veja a Seção 7 para instruções completas).
4. Método 2: Alterando a Versão PHP via .htaccess (Apache) {#htaccess-method}
Se seu ambiente de hospedagem executa Apache mas não fornece um seletor PHP gráfico, você pode controlar a versão PHP diretamente através de seu arquivo .htaccess. Este método é particularmente útil em planos de Hospedagem Web Compartilhada onde o acesso ao nível do servidor é restrito.
Como Funciona
Apache usa handlers para determinar como arquivos .php são processados. Ao especificar um handler personalizado em .htaccess, você instrui o Apache a usar uma versão específica de PHP para seu site.
Passo 1: Acesse seu Arquivo .htaccess
Você pode editar .htaccess via:
Gerenciador de Arquivos do cPanel: Navegue até public_html, encontre .htaccess, clique com o botão direito e selecione Editar.
Cliente FTP/SFTP: Conecte-se ao seu servidor e navegue até sua raiz web (geralmente public_html ou www).
Linha de comando SSH: nano /home/username/public_html/.htaccess> Nota: .htaccess é um arquivo oculto. Em seu cliente FTP, ative “Mostrar Arquivos Ocultos”. No Gerenciador de Arquivos do cPanel, marque “Mostrar Arquivos Ocultos (dotfiles)” nas configurações do canto superior direito.
Passo 2: Adicione a Diretiva de Handler PHP
Adicione uma das seguintes linhas ao seu arquivo .htaccess, dependendo da convenção de nomenclatura do handler PHP do seu servidor:
Para PHP 8.2:
AddHandler application/x-httpd-php82 .phpPara PHP 8.1:
AddHandler application/x-httpd-php81 .phpPara PHP 7.4 (legado):
AddHandler application/x-httpd-php74 .phpSintaxe alternativa (usada em alguns hosts):
# Using suPHP or FastCGI
Action php-cgi /cgi-bin/php82
AddHandler php-cgi .php> Importante: O nome exato do handler (x-httpd-php82, x-httpd-php81, etc.) depende de como seu provedor de hospedagem configurou PHP em seus servidores. Se o acima não funcionar, verifique a documentação do seu host ou entre em contato com o suporte para obter os nomes de handler corretos.
Passo 3: Salve e Teste
Salve o arquivo .htaccess e teste seu site. Se você vir um Erro 500 Interno do Servidor, o nome do handler provavelmente está incorreto — remova a linha e tente uma sintaxe alternativa.
5. Método 3: Alterando a Versão PHP via Linha de Comando (VPS/Servidores Dedicados) {#cli-method}
Se você gerencia seus próprios Servidores Dedicados ou um VPS com acesso root, você tem controle completo sobre instalação e alternância de versão PHP. Este é o método mais poderoso e flexível.
Pré-requisitos
- Acesso root ou sudo ao seu servidor
- Cliente SSH (Terminal no macOS/Linux, PuTTY ou Windows Terminal no Windows)
- Familiaridade básica com operações de linha de comando Linux
Ubuntu / Debian — Usando update-alternatives
Sistemas baseados em Ubuntu e Debian usam o sistema update-alternatives para gerenciar múltiplas versões PHP simultaneamente.
#### Passo 1: Adicione o Repositório PHP de Ondřej Surý
Este PPA fornece múltiplas versões de PHP para Ubuntu/Debian:
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update#### Passo 2: Instale a Versão PHP Desejada
# Install PHP 8.2 and common extensions
sudo apt install -y php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl
php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-bcmath
# Install PHP 8.1 if needed
sudo apt install -y php8.1 php8.1-cli php8.1-fpm php8.1-mysql#### Passo 3: Alterne a Versão PHP Padrão (CLI)
# View all registered PHP alternatives
sudo update-alternatives --list php
# Switch to PHP 8.2
sudo update-alternatives --set php /usr/bin/php8.2
# Or use the interactive selector
sudo update-alternatives --config phpO seletor interativo exibirá algo como:
There are 3 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/php8.2 82 auto mode
1 /usr/bin/php7.4 74 manual mode
2 /usr/bin/php8.1 81 manual mode
3 /usr/bin/php8.2 82 manual mode
Press <enter> to keep the current choice[*], or type selection number:Digite o número correspondente à sua versão desejada e pressione Enter.
#### Passo 4: Alterne a Versão PHP para Apache (mod_php)
# Disable current PHP module (e.g., PHP 8.1)
sudo a2dismod php8.1
# Enable new PHP module (e.g., PHP 8.2)
sudo a2enmod php8.2
# Restart Apache
sudo systemctl restart apache2#### Passo 5: Alterne a Versão PHP para Nginx (PHP-FPM)
Para Nginx, PHP é tratado via PHP-FPM. Atualize seu bloco de servidor Nginx para apontar para o socket FPM correto:
# In your Nginx server block configuration
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}Depois reinicie PHP-FPM e Nginx:
sudo systemctl restart php8.2-fpm
sudo systemctl restart nginxCentOS / RHEL / AlmaLinux / Rocky Linux — Usando SCL ou Repositório Remi
#### Opção A: Usando Software Collections (SCL) — CentOS 7
# Install the SCL repository
sudo yum install -y centos-release-scl
# Install PHP 7.4 via SCL
sudo yum install -y rh-php74 rh-php74-php-fpm rh-php74-php-mysqlnd
# Enable PHP 7.4 for the current session
sudo scl enable rh-php74 bash
# Verify
php --version> Nota: Alterações de SCL são específicas da sessão. Para torná-las permanentes para um usuário, adicione source /opt/rh/rh-php74/enable a ~/.bashrc.
#### Opção B: Usando Repositório Remi — CentOS 7/8, AlmaLinux, Rocky Linux
# Install EPEL and Remi repositories
sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm # For RHEL 8/AlmaLinux 8
# List available PHP streams
sudo dnf module list php
# Reset current PHP module
sudo dnf module reset php
# Enable PHP 8.2 stream
sudo dnf module enable php:remi-8.2
# Install PHP 8.2
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml php-zip
# Verify
php --versionAlternando PHP para Sites Individuais (Versão PHP por Site)
Em servidores executando múltiplos sites, você frequentemente precisa de diferentes versões PHP por site. A abordagem mais limpa é executar múltiplos pools PHP-FPM:
# Start PHP-FPM for multiple versions
sudo systemctl start php7.4-fpm
sudo systemctl start php8.1-fpm
sudo systemctl start php8.2-fpmDepois configure cada host virtual Nginx para usar um socket FPM diferente:
# Site A — PHP 8.2
server {
server_name site-a.com;
root /var/www/site-a;
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}
}
# Site B — PHP 7.4 (legacy application)
server {
server_name site-b.com;
root /var/www/site-b;
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}6. Método 4: Alterando a Versão PHP via php.ini {#phpini-method}
Em alguns ambientes de hospedagem, particularmente aqueles usando handlers PHP CGI ou FastCGI, você pode influenciar o comportamento PHP — e às vezes até a versão — através de um arquivo php.ini personalizado colocado no diretório raiz do seu site.
Criando um php.ini Personalizado
- Crie um arquivo chamado
php.inino diretório raiz do seu site (public_html). - Adicione suas diretivas de configuração:
; Custom PHP configuration
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_vars = 3000
date.timezone = "UTC"> Nota: Este método controla as *configurações* PHP, não necessariamente a *versão* PHP em si. Seleção de versão via php.ini é apenas possível em configurações de hospedagem específicas. Para controle total de versão, use cPanel, .htaccess ou métodos de linha de comando descritos acima.
7. Como Verificar sua Versão PHP Ativa {#verify}
Após fazer qualquer alteração, sempre verifique se a versão PHP correta está ativa. Existem várias maneiras de fazer isso:
Método A: Crie uma Página de Teste phpinfo()
- Crie um novo arquivo chamado
phpinfo.phpno diretório raiz web (public_html). - Adicione o seguinte conteúdo:
<?php
phpinfo();
?>- Navegue até
https://yourdomain.com/phpinfo.phpem seu navegador. - A página exibirá informações abrangentes de configuração PHP. A Versão PHP é mostrada no topo.
> Aviso de Segurança: Exclua este arquivo imediatamente após o teste. A saída phpinfo() revela detalhes sensíveis de configuração do servidor que poderiam ajudar atacantes.
Método B: Verifique via Linha de Comando (SSH)
php --version
# or
php -vSaída esperada:
PHP 8.2.10 (cli) (built: Sep 5 2023 08:12:49) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies
with Zend OPcache v8.2.10, Copyright (c), by Zend TechnologiesMétodo C: Verifique via um Script PHP Simples
Para uma verificação menos detalhada, use este script mínimo em vez do phpinfo() completo:
<?php
echo 'PHP Version: ' . PHP_VERSION;
echo '<br>PHP Major Version: ' . PHP_MAJOR_VERSION;
echo '<br>PHP Minor Version: ' . PHP_MINOR_VERSION;
?>Método D: Verifique via Admin do WordPress (para Sites WordPress)
No seu painel do WordPress:
- Vá para Ferramentas → Saúde do Site.
- Clique na aba Info.
- Expanda a seção Servidor.
- Procure por Versão PHP.
8. Erros Comuns Após Alternar Versões PHP {#common-errors}
Alternar versões PHP às vezes pode causar problemas. Aqui estão os problemas mais comuns e como resolvê-los:
Erro 1: Tela Branca da Morte (WSOD) ou Página em Branco
Causa: Um plugin, tema ou código personalizado usa sintaxe ou funções que são incompatíveis com a nova versão PHP.
Solução:
- Ative o modo de debug do WordPress adicionando a
wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);- Verifique
/wp-content/debug.logpara mensagens de erro específicas. - Desative todos os plugins e alterne para um tema padrão para isolar o problema.
Erro 2: Erro 500 Interno do Servidor
Causa: Frequentemente causado por um handler PHP incorreto em .htaccess, ou uma extensão PHP que não está instalada para a nova versão.
Solução:
- Remova ou corrija a diretiva
AddHandlerem.htaccess. - Verifique o log de erro do seu servidor:
tail -f /var/log/apache2/error.logoutail -f /var/log/nginx/error.log. - Certifique-se de que as extensões PHP necessárias estão instaladas para a nova versão.
Erro 3: “Chamada para função indefinida” ou “Classe não encontrada”
Causa: Uma extensão PHP necessária pela sua aplicação (por exemplo, php-gd, php-mbstring, php-xml) não está instalada para a nova versão PHP.
Solução:
# Ubuntu/Debian — install missing extensions for PHP 8.2
sudo apt install php8.2-gd php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip
# Restart web server
sudo systemctl restart apache2 # or nginxErro 4: Avisos de Função Descontinuada
Causa: Seu código usa funções que foram descontinuadas em versões PHP mais antigas e removidas em versões mais novas (por exemplo, funções mysql_* removidas em PHP 7.0).
Solução:
- Atualize seu código ou plugins para usar equivalentes modernos (por exemplo,
mysqli_*ou PDO). - Se alterações imediatas de código não forem possíveis, considere permanecer em uma versão PHP compatível temporariamente enquanto você planeja a atualização.
Erro 5: Versão PHP Não Muda Apesar de Seguir os Passos
Causa: Múltiplas configurações PHP podem estar em vigor (por exemplo, CLI vs. servidor web), ou o cache está servindo respostas antigas.
Solução:
- Limpe o cache do seu navegador e qualquer cache do lado do servidor (OPcache, Redis, Varnish).
- Reinicie seu servidor web:
sudo systemctl restart apache2ousudo systemctl restart nginx. - Confirme que você está editando o arquivo
.htaccessou arquivo de configuração correto para o domínio correto.
9. Melhores Práticas para Gerenciamento de Versão PHP {#best-practices}
Siga estas diretrizes para manter um ambiente PHP saudável, seguro e performático:
1. Sempre Teste em um Ambiente de Staging Primeiro
Nunca alterne versões PHP diretamente em um site de produção ao vivo. Configure um ambiente de staging — seja um subdomínio ou um servidor separado — e teste sua aplicação completamente antes de aplicar alterações à produção.
2. Mantenha PHP Atualizado
Inscreva-se nos anúncios de segurança oficiais do PHP e planeje atualizações antes que sua versão atual atinja o Fim da Vida. Executar versões PHP EOL é uma das causas mais comuns de comprometimento de sites.
3. Audite seus Plugins e Dependências Antes de Atualizar
Antes de atualizar PHP, verifique a compatibilidade de:
- Todos os plugins e temas CMS instalados
- Dependências do Composer (
composer.json) - Código de aplicação personalizado
Use ferramentas como PHPCompatibility (um conjunto de regras PHP_CodeSniffer) para verificar seu código quanto a problemas de compatibilidade.
4. Mantenha Extensões PHP em Sincronização
Ao alternar versões PHP, sempre reinstale todas as extensões necessárias para a nova versão. Uma extensão ausente é a causa mais comum de erros pós-atualização.
5. Use Controle de Versão para Arquivos de Configuração
Armazene seus arquivos .htaccess, php.ini e configuração de servidor em um repositório Git. Isso facilita reverter alterações se algo der errado.
