Avatar ·

Qual é a diferença entre shell_exec() e exec() em PHP para executar comandos?

Olá a todos! Sou novo em PHP e estou tentando executar comandos do sistema a partir de um script. Encontrei duas funções: shell_exec() e exec(), mas não entendo qual é a diferença entre elas e qual usar quando. Tenho um script simples que deve listar os arquivos em um diretório: ```php ``` Isso funciona e vejo a lista de arquivos. Mas quando tento exec(): ```php ``` Também parece funcionar, mas o resultado vem como um array, não como uma string. Preciso executar diferentes comandos: às vezes apenas verificar se o comando foi executado com sucesso (por exemplo, criar uma pasta), às vezes obter a saída para processamento posterior (por exemplo, lista de processos), e às vezes executar algo em background (por exemplo, iniciar um script no servidor). Por favor, me digam: 1. Qual é a diferença fundamental entre shell_exec() e exec()? 2. Qual função é melhor para