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

Registry <-> PerRun, einmal gehts einmal nicht: mir fällt kein passender thema name ein.



<< >> 3 Einträge, 1 Seite
.mike.
 2007-05-28 19:50
#30402 #30402
User since
2006-04-07
26 Artikel
BenutzerIn
[default_avatar]
Hallo
ich hab ein Problem mit meiner Apachekonfiguration
eigentlich komisch da es mir schon 3 mal gelungen ist einen apache mit mod_perl zu konfigurieren aber jetzt weiß ich einfach nicht mehr weiter

ich arbeite unter linux mit apache2 und mod_perl2

hier mal die mod_perl.conf
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<IfModule mod_perl.c>
#PerlTrace all
PerlRequire "/etc/apache2/modules.d/apache2-mod_perl-startup.pl"

#Provide two aliases to the same cgi-bin directory,
#to see the effects of the 2 different mod_perl modes
#for Apache2::Registry Mode
Alias /perl/ /var/www/localhost/perl/
#for Apache2::Perlrun Mode
Alias /cgi-perl/ /var/www/localhost/perl/

<IfModule mod_access.c>
<Location /perl-status>
        SetHandler perl-script
PerlResponseHandler Apache2::Status
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
</Location>
</IfModule>

   <Directory /home/*/public_html/perl>
       SetHandler perl-script
       PerlResponseHandler ModPerl::PerlRun
       Options -Indexes ExecCGI
PerlOptions +ParseHeaders
   </Directory>

   PerlModule ModPerl::Registry
   #set Apache::Registry Mode for /perl Alias
   # To set subdirectories to use perl set the following
   # and comment the orignial:
   # <Location ~ "^/perl/.*\.pl$">
   <Location /perl/*.pl>
       SetHandler perl-script
       PerlResponseHandler ModPerl::Registry
       Options -Indexes ExecCGI
       PerlSendHeader On
   </Location>

   #set Apache::PerlRun Mode for /cgi-perl Alias
   <Location /cgi-perl/*.pl>
       SetHandler perl-script
       PerlResponseHandler ModPerl::PerlRun
       Options -Indexes ExecCGI
       PerlSendHeader On
   </Location>

</ifModule>


naja ums kurz zu beschreiben :
es gibt 2 aliase: /perl und /cgi-perl und zwar beide auf das gleiche verzeichnis
für /perl hab ich den PerlResponseHandler ModPerl::Registry
für /cgi-perl hab ich den PerResponseHandler ModPerl::PerlRun

wenn ich nun z.B http://localhost/cgi-perl/printenv.pl aufrufe dann funktioniert das ganze auch
wenn ich aber http://localhost/perl/printenv.pl aufrufe dann fragt mein browder ob der die datei speichern oder öffnen soll d.h. sie wird nicht ausgeführt

aber wie in der conf zu sehen hab ich ja die gleichen eintellungen für /perl und /cgi-perl nur eben den anderen ResponseHandler


einer ne idee?
bin am verzweifeln, bitte helft mir!

gruß
.mike.
.mike.
 2007-05-28 19:55
#30403 #30403
User since
2006-04-07
26 Artikel
BenutzerIn
[default_avatar]
oh man es ist zum kotzen
habs nur mit opera ausprobiert und da kommt der oben beschriebene dialog wegen öffnen/speicher

im firefox gehts einwandfrei

also ein browserproblem?
.mike.
 2007-05-28 20:10
#30404 #30404
User since
2006-04-07
26 Artikel
BenutzerIn
[default_avatar]
hab den fehler gefunden

die printenv.pl sah nämlich so aus
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/perl
##
##  printenv -- demo CGI program which just prints its environment
##

print "Content-type: text/plain; charset=iso-8859-1\n\n";
foreach $var (sort(keys(%ENV))) {
   $val = $ENV{$var};
   $val =~ s|\n|\\n|g;
   $val =~ s|"|\\"|g;
   print "${var}=\"${val}\"\n";
}


hab dann die header-ausgabe-zeile geändert in
Code: (dl )
print "Content-type: text/plain\n\n";


und schwuppdiwupp gehts auch im opera wenn ich http://localhost/perl/printenv.pl aufrufe

vllt liegt es ja daran dass die header von ModPerl::Registry und ModPerl::PerlRun unterschiedlich behandelt werdeen
auf jeden fall is der opera mit der einen variante wohl nicht klargekommen...

irgendwie komisch hier selbstgespräche zu führen...
<< >> 3 Einträge, 1 Seite



View all threads created 2007-05-28 19:50.