Forbidden

13. Re: Forbidden

Marcos Miras
marcosmiras

(usa CentOS)

Enviado em 03/04/2008 - 11:08h

Realmente, poste o arquivo para nós vermos aí... E o conselho acima é bem útil, embora perl seja um linguagem bem estruturada, para a web não é uma boa pedida...
Bem, mas nos atemos ao problema. Para testar a configuração do Apache, crie um arquivo simples(tipo: Hello world!) em perl para verificarmos se está funcionando correntamente.


  


14. HelloWorld

João Marcos Menezes
stremer

(usa Arch Linux)

Enviado em 03/04/2008 - 11:14h

O grande lance é que um HelloWorld em CGI não é uma coisa simples.
Mas no perl se torna quando se usa o módulo CGI nele.
Não to em casa e faz tempo que não faço um cgi em perl mas em casa tenho uns fontes velhos que ja fiz, mas não lembro de cabeça, oque sei é que em C, você deve postar toda a resposta do cabeçalho HTTP (no caso o módulo CGI do perl faz isso pra vc), senão você vai ter que mandar ele na unha.
Cabeçalho padrão seria:
HTTP/1.1 200 OK
Date: Thu, 03 Apr 2008 17:15:46 GMT
Server: Apache/2.0.50 (Unix) mod_ssl/2.0.50 OpenSSL/0.9.6g
Expires: Thu, 01 Jan 1970 00:00:00 GMT^M
Pragma: No-cache
Cache-Control: no-cache
Keep-Alive: timeout=15, max=98^M
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html;charset=ISO-8859-1
Content-Language: pt-BR

Lógico alterando a informação de acordo com a sua. Esta informação aqui é uma cola do header de um programa java rodando websphere, mas no final não vai mudar praticamente nada.


15. Re: Forbidden

Fabianne
fabianne

(usa Ubuntu)

Enviado em 03/04/2008 - 11:16h

de fato, prefiro outras linguagens mesmo como php, nunca trabalhei com perl, mas estou fazendo meu tcc que envolve acesso a varios banco de dados e de acordo com minha orientadora o perl possui o DBI do perl que acessa enumeros banco de dados, ela me recomendou isso.. vamo ve no que da ..
o print.pl que tenho é bem simples:

#!/usr/bin/perl -w
print "Content-type: text/html\n\n";
print "teste";

...

to lendo algumas dicas aqui:
http://httpd.apache.org/docs/1.3/misc/FAQ-F.html#premature-script-headers



16. olha

João Marcos Menezes
stremer

(usa Arch Linux)

Enviado em 03/04/2008 - 11:37h

não tenho certeza se o seu script funciona pois não tenho ambiente para testar agora. Você testou em outra maquina? Pois eu acho que por você não tar usando o módulo cgi precisa de mais coisa no header senão vai dar problema.
Bem, achei no live este exemplo que ta usando o módulo cgi, testa ele:
-------------------ex.pl---------------
#!/usr/local/bin/perl

use CGI;

$query = new CGI;

print "Content-type: text/html\n\n";

print "<html><head><title>Perl CGI Example # 2";
print "</title></head><body><h1>";
print "Perl CGI Example # 2</h1><p>";

$query->import_names('R');

$sum = $R::number1 + $R::number2;

print "The sum of the two numbers is $sum";
print "</p>";

print "</body></html>";
------------------ fim ex.pl --------------
Como pode ver ele usa o módulo cgi que pelo que eu lembro envia o header completo necessário.


17. ah faltou

João Marcos Menezes
stremer

(usa Arch Linux)

Enviado em 03/04/2008 - 11:39h

o html que chama o perl.
Segue abaixo:
<html>
<body>
<p>
<form action="http://www.scit.wlv.ac.uk/~jphb/sst/perl/perlex2.cgi" method="get">
Enter first number
<input type=text name=number1>
<br>
Enter second number
<input type=text name=number2>
<br>
<input type=submit value="calculate sum">
</p>
</body>
</html>



18. Re: Forbidden

Fabianne
fabianne

(usa Ubuntu)

Enviado em 03/04/2008 - 11:42h

:S:S:S
valeu ai mas deu
a mesma coisaaaa
"mta calma nessa horaaa"


19. olha

João Marcos Menezes
stremer

(usa Arch Linux)

Enviado em 03/04/2008 - 11:53h

pode parecer besta mas esta editando este arquivo no linux?
Pois este problema parece encontrar qdo o enter não é somente LF (unix) mas sim CR LF (dos/windows)
Tente executar um#
#dos2unix teste.pl
e tente novamente.


20. outra dica

João Marcos Menezes
stremer

(usa Arch Linux)

Enviado em 03/04/2008 - 11:56h

vi pelo live que pessoas tiveram este problema com permissão 777 (não sei pq, parece ser um bug) tente dar permissão 755 pro arquivo, afinal oque ele precisa é somente leitura e execução.


21. e ah

João Marcos Menezes
stremer

(usa Arch Linux)

Enviado em 03/04/2008 - 12:04h

só pra ficar claro quando ao header:
somente:
print "Content-type: text/html\n\n";
já é suficiente no caso do perl.

No C que precisa de mais coisa ;)
Como falei faz teeemmmmpooo que não faço um cgi em perl, pelo menos uns 2 anos. Em C tbem faz tempo mas como fiz mais lembro um poco melhor.

Agora quanto a sua professora falar do DBI do perl eu meio que discordo, acho que programa web tem de usar tecnologia web. Perl é excelente mas para fazer aplicação web não acho a melhor solução. Só se tiver algo realmente muiiiitttoooo especifico.


22. então

João Marcos Menezes
stremer

(usa Arch Linux)

Enviado em 03/04/2008 - 12:05h

só pra ficar claro quando ao header:
somente:
print "Content-type: text/html\n\n";
já é suficiente no caso do perl.

No C que precisa de mais coisa ;)
Como falei faz teeemmmmpooo que não faço um cgi em perl, pelo menos uns 2 anos. Em C tbem faz tempo mas como fiz mais lembro um poco melhor.

Agora quanto a sua professora falar do DBI do perl eu meio que discordo, acho que programa web tem de usar tecnologia web. Perl é excelente mas para fazer aplicação web não acho a melhor solução. Só se tiver algo realmente muiiiitttoooo especifico.


23. resolvido

Fabianne
fabianne

(usa Ubuntu)

Enviado em 03/04/2008 - 14:34h

olha soh
desinstalei um pacotes de mod_log_sql do apache..
e funcionou...


libapache2-mod-log-sql

Use SQL to store/write your apache queries logs - Base
mod_log_sql is a log module for Apache 1.3 and 2.0
which logs all requests to a database.

Base package.

If you want to use make_combined_log and mysql_import_combined_log
scripts you will need installed perl package.

Created for apache-2.0. Use libapache-mod-log-sql for apache-1.3.


ateh chegar a essa conclusao...
obrigada ai.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts