Schrift
[thread]3188[/thread]

Apache cacht mein Script: wie soll ich da was entwickeln?



<< >> 9 Einträge, 1 Seite
steffenw
 2006-02-23 14:39
#29898 #29898
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Also es geht um mod_perl unter Windows.

Mit Apache2::Reload sorge ich doch nur dafür, daß die Module immer wieder geladen werden, d.h. wenn ich Module entwickle.

Wie funktioniert das nun, daß mein Script nicht gecacht wird?
$SIG{USER} = sub {love 'Perl' or die};
esskar
 2006-02-23 14:44
#29899 #29899
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Apache stop
Apache start
Relais
 2006-02-23 15:42
#29900 #29900
User since
2003-08-06
2257 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=esskar,23.02.2006, 13:44]Apache stop
Apache start[/quote]
bzw. apache restart
apache reload reicht vielleicht sogar schon, ausprobieren.
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop 12. bis 14. Mai 2025 in München.

Winter is Coming
Taulmarill
 2006-02-23 16:14
#29901 #29901
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
wenn du mit mod_perl arbeitest entwickelst du im prinzip ein perlmodul. Apache2:Reload hilft hier in den meisten fällen (aber nicht in allen). daher würde ich dir empfehlen, das o.g. stop/start durchzuführen (auch ein restart läd nicht immer alles) oder eine entwicklungsumgebung zu benutzen, die dir hilft. catalyst hat z.b. seinen eigenen webserver zum entwickeln, den apache nimmt man dann nur noch für den wirkbetrieb.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
steffenw
 2006-02-23 18:32
#29902 #29902
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ich bin nicht der Admin des Webservers. Der Apache restart dauert außerdem eine kleine Ewigkeit.

Gibt es keine Möglichkeit dem Apache mod_perl (Entwicklungssystem) zu sagen, daß er das Script im Gegensatz zum Produktivsystem immer wieder vergessen soll?

Die Scripte laufen zur Zeit alle unter CGI. Das heißt aber noch lange nicht, daß sie auch unter mod_perl auch laufen. Deswegen sollte eben unter mod_perl auch entwickelt werden. Das aktuelle Problem heute war z.B. daß zur Compiletime (use, BEGIN) $0 auf .../Apache.exe stand und erst zur Laufzeit auf den Scriptnamen wechselte.\n\n

<!--EDIT|steffenw|1140712595-->
$SIG{USER} = sub {love 'Perl' or die};
ptk
 2006-02-23 23:16
#29903 #29903
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Meinst du CGI oder Apache::Registry bzw. das mod_perl2-Pendant dazu? Bei CGI wird nie gecacht, bei Apache::Registry wird bei jedem Request ein Zeitstempelvergleich gemacht und ggfs. reloaded.
steffenw
 2006-02-24 09:49
#29904 #29904
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Der Großteil läuft noch auf dem gleichen Apache unter CGI. Es soll später alles unter mod_perl laufen und natürlich so auch immer entwickelt und getestet werden. Ohne Test unter mod-perl ist eine Produktivierung unter mod_perl undenkbar. @ptk Du meinst also, Apache2::Registry löst das Problem, daß die Scripte dann bei Änderung auch neu compiliert werden?
$SIG{USER} = sub {love 'Perl' or die};
Relais
 2006-02-24 10:06
#29905 #29905
User since
2003-08-06
2257 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=steffenw,23.02.2006, 17:32]Gibt es keine Möglichkeit dem Apache mod_perl (Entwicklungssystem) zu sagen, daß er das Script im Gegensatz zum Produktivsystem immer wieder vergessen soll?[/quote]
Du kannst den Mechanismus umgehen indem Du den Namen des Skripts mit jeder inhaltlichen Änderung änderst - wenn Du etwa CVS oder ähnliches verwendest, nach den Ausschecken, das Skript kopieren und in der Kopie die Versionsnummer mit in den Namen einbauen.
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop 12. bis 14. Mai 2025 in München.

Winter is Coming
steffenw
 2006-02-24 17:09
#29906 #29906
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Die Lösung hier:

=> ohne Prüfung von Zeitstempel etc.
PerlModule ModPerl::RegistryBB
=> "normal"
PerlModule ModPerl::Registry
$SIG{USER} = sub {love 'Perl' or die};
<< >> 9 Einträge, 1 Seite



View all threads created 2006-02-23 14:39.