The following
are some of the mostly frequently
asked questions related to mod_perl configuration issues (and the
answers, of course).
My CGI/Perl code is returned as plain text instead of being executed by the web server.
Check your configuration files and make sure that
+ExecCGI is turned on in your configurations.
+ adds an option without resetting any options
that were previously set. So this is how the
<Location>section might look:
My script works under mod_cgi, but when called via mod_perl, I get a Save As prompt.
You probably sent the HTTP header via print( ):
print "Content-type: text/html\n\n";
If this is the case, you must make sure that you have:
PerlSendHeader On
in the configuration part of the <Location>
section:
<Location /perl>
...
PerlSendHeader On
</Location>
This adds a little overhead to the output generation, because when
this configuration is enabled, mod_perl will parse the output and try
to find where the header information ends so it can be converted into
a proper HTTP header. It is meant only for mod_cgi emulation with
regard to HTTP headers.
Is there a way to provide a different startup.pl file for each individual virtual host?
No. Any virtual host will be able to see the routines from a
startup.pl file loaded for any other virtual
host.