Como exibir erros de cgi-bin em vez de 500 no Apache?

1

Estou interessado em obter erros de scripts cgi-bin dentro do navegador, como os erros do PHP.

O script cgi pode ser Perl, Python, Ruby, binário ou qualquer outra coisa. Não estou interessado em uma solução específica - estou procurando algo que funcione com qualquer script.

Eu quero usar está em um servidor de desenvolvimento / teste não em produção. Estou ciente de que na produção você não deve exibir o error_log para o usuário.

Eu estou procurando um script para ser usado para substituir ErrorDocument dentro do Apache. Eu tive um no passado mas eu perdi isto.

    
por sorin 23.08.2009 / 14:48

4 respostas

1

Basicamente, como radius diz, catch & exibir o erro em vez de deixá-lo passar. Em perl, veja o módulo Carp: link

    
por 23.08.2009 / 16:00
0

Acho que usar um wrapper pode fazer isso. Escreva um script que sempre retorne 0 para que o apache nunca faça o erro 500 para ele. Neste script, abra o script true para executar e capturar STDOUT e STDERR para poder enviá-los de volta ao cliente.

    
por 23.08.2009 / 14:55
0

Não é bem o que você pediu, mas que tal expor os logs por meio de um alias?

Alias /var/log/httpd /apache-logs
<Directory /var/log/httpd>
  # access control options, fancy indexing options, etc
</Directoy>
    
por 23.08.2009 / 15:15
0

No passado, coloquei um pequeno script no meu servidor de desenvolvimento que seguia o arquivo de log para o navegador. Ele não substituiu o erro 500, mas suponho que você possa redirecionar o Apache para tal script quando um erro 500 for detectado.

    
por 24.08.2009 / 05:32