Muitos sistemas pedem uma extensão do PHP (imagick, gd, intl, zip, soap,
ionCube, redis) ou uma função como exec. As extensões você ativa sozinho no
painel. Algumas funções, porém, ficam desativadas por segurança em todos os
planos de hospedagem e revenda.
Ativar uma extensão
cPanel
- Abra Selecionar versão do PHP (PHP Selector).
- Confira se a versão em uso é a que o site usa.
- Na aba Extensões (Extensions), marque a extensão e salve.
As extensões do seletor valem para os domínios que estão em inherit no
MultiPHP Manager. Veja "Como mudar a versão do PHP no cPanel, DirectAdmin e
Plesk".
DirectAdmin
- Abra PHP Selector.
- Marque a extensão na versão em uso e salve.
Plesk
- Em Sites e Domínios, abra o domínio, clique em PHP e confira o manipulador do PHP (handler). O PHP Selector só funciona com um manipulador FastCGI, CGI ou LSPHP servido pelo Apache, como o Aplicativo FastCGI servido por Apache. Se precisar trocar, escolha o manipulador e salve.
- Abra o PHP Selector do domínio.
- Escolha a versão do PHP que o site usa (diferente de
native) e aplique. - Marque as extensões e salve.
- Para ajustar opções como
memory_limit, abra a área de opções do próprio PHP Selector (PHP Settings ou Opções), altere os valores e salve.
Dicas:
- Cada versão do PHP tem a sua lista de extensões. Ativar na 8.4 não muda nada se o site usa a 8.1.
- Algumas extensões não podem ficar ativas juntas, como
mysqliend_mysqli, oupdo_mysqlend_pdo_mysql. O painel avisa que uma delas foi ignorada ("skipped as conflicting"). Desmarque a que conflita e salve de novo. - O ionCube Loader e o OPcache também são ativados ou desativados por essa lista.
- Para confirmar, crie um
info.phpcom<?php phpinfo();, procure a extensão e apague o arquivo depois.
Funções desativadas por segurança
Nos servidores de hospedagem e revenda, as funções que executam comandos do sistema ficam desativadas e não são liberadas por conta, entre elas:
exec, shell_exec, popen, proc_open
Se o sistema depende delas, ele precisa de um VPS. Antes disso, veja se há
alternativa sem comandos do sistema, por exemplo a extensão imagick para
gerar miniaturas de imagens.
A função mail() também é desativada. Formulários e sistemas precisam enviar
e-mail por SMTP autenticado, com uma conta de e-mail criada no painel. Veja
"Meu e-mail não envia: como descobrir a causa".
Composer e bibliotecas
O Composer está disponível no terminal da conta para instalar bibliotecas PHP do projeto. Bibliotecas de sistema e programas como FFmpeg não são instalados na hospedagem; nesses casos é preciso um VPS.
Em contas de revenda, se o terminal não abre ou mostra erro de jailshell,
veja "Tarefas cron: como configurar no cPanel, DirectAdmin e Plesk".
Se não resolver
Abra um ticket com:
- o domínio e a versão do PHP em uso;
- o nome da extensão ou função que o sistema pede;
- a mensagem de erro exibida pelo sistema.
Não inclua senhas no ticket.
Esta resposta foi útil?
A sua avaliação nos ajuda a melhorar os artigos.