Guia: Como Habilitar a Função shell_exec no DirectAdmin
há 1 semana
37
Método Recomendado: CustomBuild do DirectAdmin
O método a seguir utiliza o CustomBuild do DirectAdmin para garantir que suas configurações personalizadas não sejam sobrescritas durante atualizações do PHP. 1
Passo 1: Acessar o Servidor via SSH
Conecte-se ao seu servidor como um usuário com privilégios de root (ou use sudo).
Passo 2: Criar o Arquivo de Configuração Personalizado
O DirectAdmin permite a personalização da diretiva disable_functions através de um arquivo específico. Primeiro, navegue até o diretório do CustomBuild:
Bash
cd/usr/local/directadmin/custombuild
Crie o diretório custom se ele ainda não existir:
Bash
mkdir-pcustom
Agora, crie o arquivo php_disable_functions dentro do diretório custom. Este arquivo conterá a lista de funções que você deseja manter desabilitadas. Para habilitar shell_exec, basta omiti-lo da lista.
Com base na sua configuração atual, o comando a seguir irá recriar a lista de funções desabilitadas, exceto shell_exec:
Atenção: O comando acima mantém as outras funções de execução potencialmente perigosas desabilitadas, o que é uma boa prática de segurança. Se desejar habilitar todas as funções (não recomendado), você pode criar o arquivo vazio com o comando: echo "" > custom/php_disable_functions.
Passo 3: Reconstruir as Configurações do PHP
Após criar o arquivo de configuração, execute o secure_php para aplicar as alterações em todas as versões do PHP instaladas:
Bash
./buildsecure_php
Este comando irá ler o seu arquivo custom/php_disable_functions e reescrever os arquivos php.ini do seu servidor com a nova lista de funções desabilitadas.
Passo 4: Verificar a Alteração
Para confirmar que shell_exec foi habilitado, você pode verificar a diretiva disable_functions nos arquivos php.ini do seu servidor. O comando a seguir mostrará a linha correspondente para cada versão do PHP:
Bash
grepdisable_functions/usr/local/php*/lib/php.ini
Você também pode recarregar a página phpinfo.php que você forneceu anteriormente e verificar se shell_exec não está mais listado na diretiva disable_functions.
Passo 5: Reiniciar o PHP-FPM (se necessário)
Em alguns casos, pode ser necessário reiniciar o serviço PHP-FPM para que as alterações entrem em vigor imediatamente. Para a sua versão do PHP (8.4), o comando seria: