Tenho uma aplicação PHP, que recebe determinado código na linguagem Java, por exemplo:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Olá Mundo!");
}
}
Essa aplicação, pega esse código, salva em um arquivo .java e posteriormente compila com uma instrução parecida com essa: shell_exec('javac arquivo.java');
Meu problema, é que não consigo encontrar nenhum servidor que ofereça acesso ao compilador Java, para poder executar essas ações. Alguém poderia me indicar algum?
isso pode ser considerado uma falha de segurança - imagina uma terceira pessoa podendo subir codigo que execute instruções ou use toda a memoria disponivel, ou que revele detalhes da infraestrutura?.
servidor de produção não vem com compiladores ou build essentials no geral.
o que vc pode ver é se vc consegue alugar uma maquina (fisica ou virtual) e ai vc cuida da instalação e pacotes, incluindo a questão da segurança.
veja se o ideone.com não resolve o que vc quer fazer, ele oferece uma API para compilar codigo e tem algumas limitações (e $) mas pode ser uma alternativa menos complexa.
Sim, eu tinha pensado na questão da segurança, e até tomei muitas medidas quanto a isso.
Quanto ao ideone, é muito caro mesmo, sem condições, preciso de uma solução mais em conta. Mas muito obrigado!
mas ai vc cria uma fila e consome ela de forma assincrona, cujo job vai ser compilar. um job scheduler como resque e um pouco de ruby vai fazer o que vc quer.
como é assincrono a sua interface tem que ficar fazendo pooling ate que o status do job esteja concludo ( com erro ou sucesso ).