[Cascavel-pm] system

Luis Motta Campos luismottacampos em yahoo.co.uk
Quarta Novembro 29 03:43:58 PST 2006


Agnaldo Macedo wrote:
> Pois então gente.
> 
> O shell do sistema operacional até que dá para trocar. basta setar a
> variavel de ambiente PERL5SHELL apontando ela para o novo executavel
> do shell.
> 
> Fiz  meu teste aqui, sobre Win32, e, ao invés de usar o cmd.exe,
> apontei para o powershell.exe, que é o novo que o windows VAI usar
> nas novas versões. Essa parte funcionou.
> 
> MAS, não solucionou o meu problema. Ou seja, tenho um script CGI em
> Perl. O mesmo recebe variaveis de formularios da web, repassa os
> dados para variaveis de ambiente, chama o meu OUTRO programa via
> system ou exec e este OUTRO programa le as variaves de ambiente e as
> usa. Tudo roda às mil maravilhas.
> 
> MAS, quando tenho variaveis com mais de 32Kb, os problemas começam. 
> Quando uso system, ele devolve a mensgem de erro: Can't spawn
> "cmd.exe": No such file or directory at  teste.pl linha tal Eu fiz a
> troca do shell, usando outro ao invés do cmd.exe. O erro persiste,
> apenas que ele mostra o nome do outro shell, o que indica que o Perl
> esta usando o outro shell mesmo.
> 
> Quanto uso exec, não dá erro, MAS as variaveis CGI somem. Ou seja, as
> minhas variaveis ele manteve, mais algumas das genéricas somem.

  Boas descobertas técnicas.
  Mas você tem mesmo (agora que eu li a figura toda) um problema de
arquitetura.
  Acho até que alguém mencionou alguma coisa neste sentido uns posts
para trás (Alceu? Foi você?)... o que você precisa mesmo é parar de
tentar disparar shell e programas não-CGI via CGI.
  Você precisa de um web-services ou uma interface RPC-like para o seu
programa. E, desta forma, evita ter de lidar com problemas do tipo "o
ambiente do meu servidor web é muito maior que o ambiente do meu sistema
operacional, e quando eu faço exec() de alguma coisa fora do servidor
web, parte do ambiente "evapora", truncada pelo sistema operacional".

  Lamento, carinha. A gente até pode ajudar a escrever o programa novo,
mas ele tem necessáriamente que parar de usar CGI.

  Desculpe ter de dar más notícias, mas fazer direito é a melhor saída.
  Putamplexos!
-- 
Luis Motta Campos
Senior System Engineer at Segula.FR
Hobbyist Cooker and Photograph


Mais detalhes sobre a lista de discussão Cascavel-pm