perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 40
Click for quality!




10.02.2012 / 09:49

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragAlternative zu CGI Modul
Seitenanfang
Hallo!

Ich verwende in meinem Scripten das CGI-Modul brauche allerdings nur die Funktion Vars zum Auslesen der übergebenen Daten, cookies zum lesen und header zm schreiben der Cookies. Da das Script sehr groß ist wollte ich fragen, ob es vielleicht eine gute Alternative gibt, die schneller zu verarbeiten ist.

mfg, perler

Datum: 26.03.2007-11:26

Beitragre: Alternative zu CGI Modul
Seitenanfang
Wenn du die Möglichkeit hast, dann würde ich auf mod_perl umstellen.

mod_perl ist ein Modul für den Apache-Webserver, dadurch wird er um einen eingebetteten (/ integrierten) Perl-Interpreter erweitert.

Beim Aufruf eines CGI-Scripts ist es so, dass der Webserver erst einen Perl-Interpreter-Prozess forkt, dieser Interpreter dann das Script interpretiert und ausführt.
Der wiederholende Prozess - das Starten eines neuen Interpreter-Prozesses und das interpretieren des Scriptes - ist überflüssig so lange sich das Script nicht ändert und neu interpretiert werden müsste.

Bei mod_perl wird das Script beim Server-Start einmalig kompiliert und im Speicher abgelegt, für jede Anfrage muss dann nur noch der Code ausgeführt werden.

Du kannst durch das einfache Ändern von ein paar Webserver-Konfigurationszeilen dafür sorgen dass deine CGI-Scripte unter mod_perl ausgeführt werden, ohne dass du selbst großartig etwas an den Scripten ändern musst.

Datum: 26.03.2007-14:23

Beitragre: Alternative zu CGI Modul
Seitenanfang
Hallo -! *gg*

Das mod-perl sehr schnell sein soll habe ich bereits gehört. Ich habe mich nur kurz damit beschäftigt, da ich nicht weis, wie ich feststellen kann, ob auf meinem Server mod_perl installiert ist (Lunix Debian, Apache2). Ich denke allerdings nicht, dass es eingebunden ist, da alle Perlprozesse am Server mit "/usr/bin/perl perlscript.pl" aufscheinen.

Weiters hab ich gelesen, dass es Probleme mit Variablen im Speicher geben soll (Werte werden nicht richtig gesetzt usw...) und deshalb die Programmierung sehr aufwendig ist (schreckt mich weniger) Ich programmiere bereits immer mit use strict;.

Gibts vielleicht eine deutschsprachige Quelle für eine Übersicht zu mod_perl damit ich mir ein Bild machen kann was alles benötigt wird bzw. geändert werden muss. Auch bezüglich der Configfiles des Apache?

Gibt es auch ein mod_perl für die lokale Entwicklungsumgebung (WinXP, Apache 1.3.23)?

Ich wäre dir für ein paar Mehr-Infos sehr dankbar.

Datum: 26.03.2007-19:06

Beitragre: Alternative zu CGI Modul
Seitenanfang
Es ist einfach nur notwendig dass man mit vorsicht programmiert und dazu gehört auch die unbedingte Verwendung von strict und warnings. Man muss erstmal ein wenig Verständnis dafür bekommen was passiert wenn ein Script unter mod_perl läuft, denn der Apache baut einen Wrapper um das Script, mit dem sich das Verhalten stark ändern kann. Eben die Variablen mit mystischen Verhalten, etc.

Ich selbst habe keine deutsche Dokumentation zu mod_perl gebookmarkt, aber nach kurzer Suche ein paar Kapitälchen über mod_perl gefunden [0]. Ein Unterkapitel betrachtet auch kurz die Installation.

Wenn du dir ein bisschen des Englischen mächtig ist, kannst du dich in "Practical mod_perl" von O'Reilly [1] einlesen, eine freiverfügbare Onlineversion des Buches.
Im Kapitel 6 ([2]) wird auch direkt auf die Problematik eingegangen was ein mod_perl-Programmierer wissen muss.

Mit einen Übersetzer wie babelfish.altavista.com der einen auch ganze Webseiten übersetzt wird man sich mit Sicherheit auch da durchschlagen können.

--

[0] Kurs: Perl & CGI
http://www.teialehrbuch.de/PERL/

[1] O'Reilly - Practical mod_perl
http://modperlbook.org/html/ch06_01.html

[2] Chapter 6. Coding with mod_perl in Mind
http://modperlbook.org/html/ch06_01.html

Datum: 26.03.2007-21:38

Beitragre: Alternative zu CGI Modul
Seitenanfang
Hallo!

Erst mal vielen Dank für Deine Hilfe.

Ich habe nun Apache2, ActivePerl und mod_perl2 installiert. Über den Apachemonitor lässt sich der Server nicht starten, deshalb mache ich das jetzt direkt über die Kommandozeile. Der Server startet allerdings nur, wenn ich in der httpd.conf die Zeile "PerlModule Apache2" auskommentiere. Laut dem Kurs "Kurs: Perl & CGI" aus deinem Link oben ist diese Zeile aber nötig. Ich vermute mal, dass das Perl-Modul nicht gefunden wird denn der Ordner existiert (D:/usr/site/lib/Apache2)

Weist du vielleicht Abhilfe? Ich kann leider nicht sagen, welche Auswirkungen das haben könnte. Ich hab mal ein einfaches "Hallo Welt"-Script geschrieben und in den neuen Ordner "perl" gelegt. Es gab keine Fehler bei der Ausführung.

Veränderungen gibts bei den existierenden Scripts. "use strict qw(!refs);" scheint nicht mehr zu funktionieren. Fehlermeldung: "Unknown 'strict' tag(s) '!refs' at ...". "use strict;" alleine funktioniert.

Noch was ist lustig. Wenn ich per require eine File einbinde, die im selben Verzeichnis liegt wie das Script selbst sagt er mir dass die Datei nicht gefunden werden konnte obwohl in der Auflistung der in @INC enthaltenen Elemente der Punkt (.), der ja für das selbe Verzeichnis steht angeführt ist.

Vielleicht hast du noch mal ein paar Tipps für mich ;-)

mfg, perler

Datum: 29.03.2007-01:02

Beitragre: Alternative zu CGI Modul
Seitenanfang
versuch mal CGI::Simple statt CGI.pm.

http://search.cpan.org/dist/CGI-Simple/

Datum: 29.03.2007-13:08

-






-
-