Disparando Processos em background
OK, agora que temos toda a teoria por tras disso, aqui vao algumas dicas para voce poder fazer isso de forma segura e eficiente.
DISPARANDO O SCRIPT
Resista a tentacao de utilizar o "system" ou "exec" do PHP para isso.
E preferivel colocar o Shell na pasta CGI do seu servidor para que ele possa ser chamado via HTTP pelo PHP.
Por exemplo, crie um arqiuvo chamado, config.sh.cfg
que contem:
Assim no seu shell, vc pode usar essas variaveis zipFile e tmpFolder sem problemas usando o comando "source /pathdoarquivo/config.sh.cfg"
Prefira salvar os dados necessarios para o script em uma pasta sem leitura do usuario web, assim, vc evita possiveis brechas de seguranca.
Use os comandos de unzip disponiveis no seu servidor para extrair o ZIP dentro da pasta tmpFolder.
Rode o Perl e de a mensagem de Proesso Iniciado para o usuario.
Vale a pena lembrar que para executar o Perl, vc deve chama-lo com a seguinte linha de commando:
Isso garante que o Shell nao fique esperando o Perl terminar para dar a resposta de OK pro usuario.
DISPARANDO O SCRIPT
Resista a tentacao de utilizar o "system" ou "exec" do PHP para isso.
E preferivel colocar o Shell na pasta CGI do seu servidor para que ele possa ser chamado via HTTP pelo PHP.
Por exemplo, crie um arqiuvo chamado, config.sh.cfg
que contem:
zipFile=/tmp/meuZip.zip tmpFolder=/tmp/dados
Assim no seu shell, vc pode usar essas variaveis zipFile e tmpFolder sem problemas usando o comando "source /pathdoarquivo/config.sh.cfg"
Prefira salvar os dados necessarios para o script em uma pasta sem leitura do usuario web, assim, vc evita possiveis brechas de seguranca.
Use os comandos de unzip disponiveis no seu servidor para extrair o ZIP dentro da pasta tmpFolder.
Rode o Perl e de a mensagem de Proesso Iniciado para o usuario.
Vale a pena lembrar que para executar o Perl, vc deve chama-lo com a seguinte linha de commando:
/pastaSegura/arquivo.pl > /dev/null 2>&1 &
Isso garante que o Shell nao fique esperando o Perl terminar para dar a resposta de OK pro usuario.
Novo Comentário: