Modifica o arquivo antes de enviar para o manipulador cgi

2

Estou fazendo uma instalação portátil do Apache para executar o Bugzilla. Esta instalação tem uma versão portátil do Perl e é a que eu quero que o mod_cgi use. No entanto, mod_cgi não tem como configurar o binário pretendido (ou binários por tipo de arquivo), então depende da shebang saber o que executar.

Meu problema é este: os arquivos perl do Bugzilla têm um shebang que aponta para #!/usr/bin/perl -T e já que estou no Windows (infelizmente nada pode ser feito sobre isso) e eu quero usar o particular Distribuição de Perl destinada ao servidor, eu preciso modificar os shebangs.

Eu sei que posso apenas executar um script perl antecipadamente e apenas substituir todos os shebangs por aqueles que apontam para o binário correto, mas eu preferiria uma solução mais robusta. Pensei em filtros e mod_lua, mas o Apache e seus módulos parecem não ter ganchos ou diretivas que permitem o processamento de arquivos antes de serem enviados para o processo cgi. Eles só podem processar solicitações enviadas por um cliente ou a saída final antes de serem enviadas de volta ao cliente.

Existe alguma maneira de processar um arquivo, usando o Apache ou um módulo, antes que ele seja enviado para o processo cgi?

Existe uma maneira de fazer o processo cgi pensar que o meu perl pretendido está, de fato, em /usr/bin/perl ?

    
por mechalynx 16.12.2015 / 19:05

1 resposta

1

1ª pergunta: Não, não é fácil. E as duas maneiras de fazer isso sempre causam problemas "na estrada"

2ª pergunta: sim. Você pode criar uma pasta 'Drive': \ usr \ bin e instalar a versão necessária do Perl lá. Observe que "Drive" precisa ser igual à letra da unidade na qual seu serviço Apache está sendo executado. Então seus scripts usarão essa versão Perl sem precisar ser alterada.

    
por 04.01.2016 / 01:11