Michael Schröpl: Apache & CGI funktioniert nur mangelhaft

Beitrag lesen

Hi,

Ich habe RedHat 7.1 installiert mit Apache und
mod_perl.

mod_perl - aha. Interessant.

Wenn ich jedoch ein Perl-Script aufrufe, bekomme
ich dauernd einen internen Serverfehler.

... welcher besagt, daß Dein Skript nicht tut, was es tun soll.

Hab zum testen nun einmal ein Formmailer-Skript
von Matt's Archiv genommen

Eieiei. Keine gute Idee bei mod_perl.

Im Log steht leider auch nicht mehr drinnen, als
interner Serverfehler.

Hast Du ein separates "ScriptLog" eingeschaltet?

Was hab ich vergessen zu beachten?

Mit mod_perl mußt Du viel sauberer programmieren, als wenn Du normale Perl-Skripte über die CGI-Schnittstelle laufen läßt.

Sind alle Variablen deklariert und initialisiert?
Ist Dein Skript mit "perl -w" und "use strict;" ohne Warnungen lauffähig?

Es ist einfach ein Unterschied, ob ein Skript vom normalen Perl-Interpreter immer wieder neu geladen wird, oder ob es über mod_perl resident im Speicher liegt und ggf. noch irgendwelche Daten vorheriger Ausführungen dort herum stehen.
Das alles darf Deinem Skript nichts ausmachen - es muß sich eben darum kümmern, seine Datenstrukturen ordentlich aufzubauen.
mod_perl verzeiht keinerlei Schlamperei.

Vielleicht hilft es ja auch, wenn ich einfach
einmal die httpd.conf mit reinschreibe:

Wenn eines Deiner Skripte mit mod_perl korrekt läuft und andere nicht, dann liegt es ziemlich sicher an den anderen Skripten.

Viele Grüße
      Michael
(der es übrigens abenteuerlich findet, daß Du den Apache für Deine Skript-Fehler verantwortlich machst - was machen denn die vielen Betreiber der aktuell 10,4 Millionen aktiven Apache-Sites anders als Du?)