Perl-CGI-Skripte nur mit "-w" möglich?
Achim Schrepfer
- webserver
Hallo Forumers,
ich habe mal eine Frage an die Apache-Spezialisten: mir ist aufgefallen, dass CGI-Skripte auf meinem Webserver (Apache/1.3.26 (Unix) Debian GNU/Linux) Perl-CGIs nur laufen, wenn in der Shebang-Zeile der "-w"-Schalter angegeben ist (#!/usr/bin/perl -w). Ohne diesen Schalter produzieren die Skripten nur einen "Internal Server Error".
Prinzipiell habe ich ja nichts gegen "-w", im Gegenteil. Aber bei einigen Skripten werden derart viele Warnungen ausgegeben, dass das Error-Log des betreffenden Hosts 20x grösser ist als das Access-Log *hmpf*. Kann mir jemand sagen, wie ich das in den Griff bekomme? Ich kann und möchte allerdings nicht das Error-Log abschalten, sondern einfach die Skripte ohne -w zum Laufen bekommen.
viele Grüße
Achim Schrepfer
Hi Achim,
ich habe mal eine Frage an die Apache-Spezialisten: mir ist aufgefallen, dass CGI-Skripte auf meinem Webserver (Apache/1.3.26 (Unix) Debian GNU/Linux) Perl-CGIs nur laufen, wenn in der Shebang-Zeile der "-w"-Schalter angegeben ist (#!/usr/bin/perl -w). Ohne diesen Schalter produzieren die Skripten nur einen "Internal Server Error".
nicht das Skript produziert diesen Fehler, sondern der Apache selbst - weil das Skript etwas ausgegeben hat, was den Anforderungen derjenigen Schnittstelle, über die es aktiviert wurde, nicht gerecht wurde.
Was genau das war, steht wie immer in Deinem error_log; zusätzlich kannst Du noch ein "ScriptLog" definieren, um sämtliche CGI-Ausgaben zu protokollieren (das kann während eines Entwicklungsprozesses helfen; "CGI::Carp" kennst Du natürlich auch?)
Rufst Du dann "perl -w" auf, dann gibt das Skript etwas _anderes_ auf, und das scheint dann zu passen.
Prinzipiell habe ich ja nichts gegen "-w", im Gegenteil. Aber bei einigen Skripten werden derart viele Warnungen ausgegeben, dass das Error-Log des betreffenden Hosts 20x grösser ist als das Access-Log *hmpf*. Kann mir jemand sagen, wie ich das in den Griff bekomme? Ich kann und möchte allerdings nicht das Error-Log abschalten, sondern einfach die Skripte ohne -w zum Laufen bekommen.
Äh, dann tu das doch einfach? Fehlermeldungen sind dazu da, die entsprechenden Fehler zu beschreiben - ein guter Ansatz, um sie dann auch zu beheben ...
Viele Grüße
Michael