Ver e ajustar a configuração do PHP: versão por pasta, extensões e phpinfo

Mudar a versão do PHP de um site inteiro é fácil e está explicado em como mudar a versão do PHP. Este artigo é o passo seguinte: versões diferentes em pastas diferentes, extensões, e como confirmar o que está mesmo a correr — porque o que o painel mostra e o que a página usa nem sempre é a mesma coisa.

As três ferramentas, e para que serve cada uma

No cPanel Para quê
MultiPHP Manager Escolhe a versão por domínio. Cada domínio e subdomínio da conta pode ter a sua.
Selector de PHP Aí escolhe a versão e liga ou desliga extensões, e mexe nas opções. É a ferramenta completa.
MultiPHP INI Editor Muda directivas do php.ini por domínio, em modo básico ou editando o texto.
Comece sempre pelo painel. Há um truque de .htaccess que também muda a versão, e explicamo-lo mais abaixo — mas ele não leva consigo as extensões nem as opções que escolheu no painel. Quando as duas coisas se cruzam, o site corre numa versão sem as peças de que precisa, e o erro que aparece não aponta para cá. Use o painel; o .htaccess só quando não houver alternativa.

Uma versão diferente só numa pasta

Isto é pedido sobretudo em dois casos: uma loja antiga numa subpasta que ainda não corre em PHP 8, ou uma área nova que já exige uma versão mais recente do que o resto do site.

1 No cPanel, abra o Gestor de Ficheiros e entre na pasta em causa. Ligue Settings → Show Hidden Files.
2 Abra o .htaccess dessa pasta, ou crie-o. Faça primeiro uma cópia: duplique o ficheiro e chame-lhe .htaccess-copia.
3 Acrescente no topo do ficheiro, trocando o número pela versão que quer:
<FilesMatch "\.(php|phtml)$">
    SetHandler application/x-lsphp82
</FilesMatch>
4 Grave e confirme com o teste da secção seguinte. Se o site der erro, apague as linhas — volta tudo ao que estava.

O 82 é o PHP 8.2; para o 8.3 seria x-lsphp83, e assim por diante. Use só versões que apareçam no painel: escrever uma que não exista dá erro 500 em toda a pasta — ver os erros do site: 500, 403, 404 e 508.

Numa pasta com subdomínio próprio, há caminho melhor. Se a pasta corresponde a um subdomínio, não mexa no .htaccess — o MultiPHP Manager trata subdomínios como domínios e deixa escolher a versão na lista, com extensões e tudo. Ver domínios estacionados e subdomínios.

Confirmar o que está mesmo a correr

O painel diz o que devia estar. Para ver o que a página usa, pergunte-lhe directamente. Crie um ficheiro na pasta que quer testar:

<?php phpinfo();
1 Chame-lhe um nome que ninguém adivinhe — info-8f3a2.php e não info.php.
2 Abra-o no navegador. A versão está logo no topo; mais abaixo ficam as extensões carregadas e todas as directivas em vigor.
3 Apague o ficheiro imediatamente a seguir.
Não deixe o phpinfo no ar. Ele mostra caminhos do sistema, módulos carregados, versões exactas e por vezes valores de configuração — ou seja, um mapa para quem quiser atacar o site. Os varredores automáticos procuram info.php e phpinfo.php por omissão, todos os dias. É usar e apagar, sempre.

Correr PHP dentro de ficheiros .html

Acontece quando se herda um site em .html e se quer acrescentar uma pequena parte dinâmica sem mudar todos os endereços. Uma linha no .htaccess resolve:

AddHandler application/x-httpd-lsphp .html .htm
Tem um custo, e convém sabê-lo. A partir daí todos os ficheiros .html passam pelo PHP, mesmo os que não têm código nenhum — o que os torna mais lentos e impede que sejam servidos da cache como ficheiros estáticos. Ver o site está lento: o que faz mesmo diferença. Se for só uma página, é quase sempre melhor mudá-la para .php e deixar um redireccionamento do endereço antigo.

Extensões do PHP

É o segundo motivo de «mudei a versão e o site partiu»: cada versão tem a sua lista de extensões, e a lista não vem atrás sozinha. Uma loja que precise de intl ou de soap deixa de funcionar se a versão nova as tiver desligadas.

1 No selector de PHP, escolha a versão primeiro.
2 Percorra a lista de extensões e ligue as que o seu site usava. Se não souber quais, o phpinfo() na versão antiga mostra-as.
3 Ligue só o que precisa. Cada extensão carregada custa memória em cada pedido.

Se depois de mudar a versão o site der erro crítico, erros comuns do WordPress ajuda a ler a mensagem; e para voltar atrás basta escolher de novo a versão anterior no mesmo ecrã.

Precisa de uma versão ou de uma extensão que não encontra?

Falar connosco

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 9.000,00 Kz/mês

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?