Observação: o autor original não estava perguntando especificamente sobre PHP. Todas as respostas centradas em php fazem grandes suposições não relevantes para a questão real.
O log de erros padrão, em oposição aos logs de erros de scripts, geralmente tem o erro (mais) específico. frequentemente, serão permissões negadas ou até mesmo um intérprete que não pode ser encontrado.
Isso significa que a falha quase sempre está no seu script. por exemplo, você carregou um script perl, mas não deu a ele permissões de execução? ou talvez tenha sido corrompido em um ambiente Linux, se você escrever o script no Windows e depois carregá-lo no servidor sem que as terminações de linha sejam convertidas, você obterá este erro.
em perl se você esquecer
print "content-type: text/html\r\n\r\n";
você obterá este erro
Existem muitas razões para isso. portanto, primeiro verifique seu log de erros e, em seguida, forneça mais algumas informações.
O log de erro padrão geralmente está em /var/log/httpd/error_log
ou /var/log/apache2/error.log
.
O motivo de você olhar os logs de erros padrão (conforme indicado acima) é porque os erros nem sempre são postados no log de erros personalizado, conforme definido no host virtual.
Assume linux e não necessariamente perl