Schrift
[thread]10481[/thread]

perl liefert keine ausgabe!? (Seite 2)

Leser: 2


<< |< 1 2 >| >> 15 Einträge, 2 Seiten
Gast Gast
 2007-09-28 21:23
#100146 #100146
Mit "/n" und "/r" meinte ich "\n" "\r", ich habe nur auf der Mactastatur nicht gleich den backslah gefunden.

Ich arbeite aber unter Mac OS/unix und bearbeite die Dateien auf einer Samba-Freigabe. Achso, und ich arbeite mit dem Zeichensatz Unicode (UTF-8), soweit ich weiss ist doch da eh die erste Codepage dem ASCII gleich.

Ich habe eben in meinem Perlskript nach der #!-Zeile einen neuen Zeilenumbruch eingefügt (Enter-Taste) und danach funktionierte es!?
Kommandozeile:
Code: (dl )
1
2
3
DiskStation> perl -w /volume1/web/cgi-bin/perltest.pl
DiskStation> perl -w /volume1/web/cgi-bin/perltest2.pl
Just another Perl hacker

und die strace-Ausgabe:
Code: (dl )
read(3, "#!/opt/bin/perl -w\n\rprint(\"Just "..., 4096) = 56
Gast Gast
 2007-09-28 22:03
#100147 #100147
Im Browser (Firefox 2.0.0.7) erscheint nun von meiner perlwebtest.pl der HTML-Quelltext ...
err.txt von Apache meldet:
Code: (dl )
1
2
[Fri Sep 28 19:52:48 2007] [notice] Apache/2.2.3 (Unix) mod_ssl/2.2.3 OpenSSL/0.9.7m PHP/5.2.0 configured -- resuming normal operations
[Fri Sep 28 19:52:52 2007] [error] [client 192.168.0.14] Premature end of script headers: perlwebtest.pl


Meine httpd.conf-user:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Virtual hosts                                                         
NameVirtualHost *
<VirtualHost *>
DocumentRoot /volume1/web
Servername www.effeksys.homelinux.org
ServerAlias effeksys.homelinux.org *.effeksys.homelinux.org

#Perl
ScriptAlias /cgi-bin/ "/volume1/web/cgi-bin/"
<Directory "/volume1/web/cgi-bin/">
AddHandler cgi-script .cgi .pl
Options +ExecCGI
</Directory>
</VirtualHost>


Sind die Perl-Skripte nur mit Perl aufrufbar wenn sie unter "/volume1/web/cgi-bin/" liegen?
Ich wollte gern, Twiki auf meinen Apache laufen lassen. Muss ich Twiki dann unter "cgi-bin" ablegen?

Vielen Dank im Vorraus!
Effeksys
ptk
 2007-09-28 23:38
#100149 #100149
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Gast+2007-09-28 19:23:22--
Mit "/n" und "/r" meinte ich "\n" "\r", ich habe nur auf der Mactastatur nicht gleich den backslah gefunden.

Ich arbeite aber unter Mac OS/unix und bearbeite die Dateien auf einer Samba-Freigabe. Achso, und ich arbeite mit dem Zeichensatz Unicode (UTF-8), soweit ich weiss ist doch da eh die erste Codepage dem ASCII gleich.

Ich habe eben in meinem Perlskript nach der #!-Zeile einen neuen Zeilenumbruch eingefügt (Enter-Taste) und danach funktionierte es!?
Kommandozeile:
Code: (dl )
1
2
3
DiskStation> perl -w /volume1/web/cgi-bin/perltest.pl
DiskStation> perl -w /volume1/web/cgi-bin/perltest2.pl
Just another Perl hacker

und die strace-Ausgabe:
Code: (dl )
read(3, "#!/opt/bin/perl -w\n\rprint(\"Just "..., 4096) = 56

Wieder ein strace-Sieg :-)
ptk
 2007-09-28 23:38
#100150 #100150
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Gast+2007-09-28 20:03:26--
Im Browser (Firefox 2.0.0.7) erscheint nun von meiner perlwebtest.pl der HTML-Quelltext ...
err.txt von Apache meldet:
Code: (dl )
1
2
[Fri Sep 28 19:52:48 2007] [notice] Apache/2.2.3 (Unix) mod_ssl/2.2.3 OpenSSL/0.9.7m PHP/5.2.0 configured -- resuming normal operations
[Fri Sep 28 19:52:52 2007] [error] [client 192.168.0.14] Premature end of script headers: perlwebtest.pl


Meine httpd.conf-user:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Virtual hosts                                                         
NameVirtualHost *
<VirtualHost *>
DocumentRoot /volume1/web
Servername www.effeksys.homelinux.org
ServerAlias effeksys.homelinux.org *.effeksys.homelinux.org

#Perl
ScriptAlias /cgi-bin/ "/volume1/web/cgi-bin/"
<Directory "/volume1/web/cgi-bin/">
AddHandler cgi-script .cgi .pl
Options +ExecCGI
</Directory>
</VirtualHost>


Sind die Perl-Skripte nur mit Perl aufrufbar wenn sie unter "/volume1/web/cgi-bin/" liegen?
Ich wollte gern, Twiki auf meinen Apache laufen lassen. Muss ich Twiki dann unter "cgi-bin" ablegen?

Vielen Dank im Vorraus!
Effeksys

Gibst du überhaupt einen ordentlichen HTTP-Header aus?
GwenDragon
 2007-09-29 20:21
#100161 #100161
User since
2005-01-17
14848 Artikel
Admin1
[Homepage]
user image
Gast+2007-09-28 20:03:26--
Im Browser (Firefox 2.0.0.7) erscheint nun von meiner perlwebtest.pl der HTML-Quelltext ...
err.txt von Apache meldet:
Code: (dl )
1
2
[Fri Sep 28 19:52:48 2007] [notice] Apache/2.2.3 (Unix) mod_ssl/2.2.3 OpenSSL/0.9.7m PHP/5.2.0 configured -- resuming normal operations
[Fri Sep 28 19:52:52 2007] [error] [client 192.168.0.14] Premature end of script headers: perlwebtest.pl

Die zweite Meldung deines Apachelog zeigt, dass du keinen Header ausgibst.
Es fehlt der Header für text/html!

Es sollte schon ein
Code: (dl )
print CGI::header('text/html');
als erstes vor eine Ausgabe an den Webserver drinstehen.
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2007-09-27 20:26.