Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]452[/thread]

Apache 2.x und CGI: Update Script



<< >> 5 Einträge, 1 Seite
steffenw
 2005-03-08 00:15
#4560 #4560
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Mal 'ne blöde Frage.

Ich habe einen Apache unter Win laufen. Ein Perl-cgi-Script wird aufgerufen, dann geändert und der Apache nimmt immer wieder den alten Code. Ein Apache-Restart löst das Problem hart, daß er danach den neuen Code übernimmt. Ich war erst etwas erstaunt. Dann dachte ich, bei mod_perl ist das doch auch so.

Wie bringt man also dem Apache schonender als mit Restart bei, daß das cgi-Script nun modifiziert ist?
$SIG{USER} = sub {love 'Perl' or die};
Taulmarill
 2005-03-08 00:53
#4561 #4561
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
wenn es ein "echtes" cgi script ist, sollte das eigendlich nicht passieren. warscheinlich benutzt du irgend einen cache, so was wie fast-cgi.
für mod_perl gibt's Apache::Reload, ich weiss aber nicht, ob das auch in deinem fall hilft.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
steffenw
 2005-03-08 10:21
#4562 #4562
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
Apache ist standardmäßig installiert:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
LoadModule access_module modules/mod_access.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_module modules/mod_auth.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule imap_module modules/mod_imap.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule userdir_module modules/mod_userdir.so
Nur hier habe ich geschraubt:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
<Directory "C:/Programme/Apache Group/Apache2/cgi-bin">
   AllowOverride None
   Options ExecCGI
   Order allow,deny
   Allow from all
</Directory>
<Files *.pl>
   SetHandler cgi-script
   ScriptInterpreterSource script
</Files>

Apache::Reload, so verstehe ich das, tauscht neu entwickelte Module gegen die alten geladenen aus. Kann es mod_cgi.so sein, was da die Optimierung macht? Sonst fällt mir da nichts auf.\n\n

<!--EDIT|steffenw|1110270873-->
$SIG{USER} = sub {love 'Perl' or die};
Peddn
 2005-03-08 12:14
#4563 #4563
User since
2003-12-21
33 Artikel
BenutzerIn
[Homepage] [default_avatar]
Vielleicht liegt's ja an deinem Browser. Ich hatte die Erfahrung gemacht, dass ein "Aktualisieren" manchmal nix bringt...
Ich musste dann immer die Adresse neu eingeben, damit die neuen Daten geladen wurden...

Gruß,
Peddn
GwenDragon
 2005-03-08 12:35
#4564 #4564
User since
2005-01-17
14563 Artikel
Admin1
[Homepage]
user image
mod_cgi optimiert nix!
Bitte mal ins Apache Manual schauen: http://localhost/manual/mod/mod_cgi.html

Wenn mod_perl benutzt wird, dann wird das Skipt und die Module nur einmal geladen und bleiben bis zum nächsten Restart des Apache im Speicher!

Wenn das Skript aktuelle Inhalte liefern soll, ohne dass es vom Browser gecachet wird, dann sollte im Header ein Expire-Eintrag vorhanden sein, ansonsten nimmt der verblödete IE immer das alte!\n\n

<!--EDIT|GwenDragon|1110278268-->
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

<< >> 5 Einträge, 1 Seite



View all threads created 2005-03-08 00:15.