Try using a wrapper as suggested in the
Mason manual, for example:
#!/usr/bin/perl
# handler.pl
package HTML::Mason;
use HTML::Mason;
use HTML::Mason::ApacheHandler;
use strict;
{
package HTML::Mason::Commands;
use DBI ();
use CGI ();
}
DBI->install_driver('mysql');
CGI->compile(':standard');
my $ah = HTML::Mason::ApacheHandler->new(
comp_root => '/path/to/comp/root',
data_dir => '/path/to/data/dir'
);
sub handler {
my ($r) = @_;
return $ah->handle_request($r);
}
1;
Load it from httpd.conf:
PerlRequire /path/to/handler.pl
Speaking of httpd.conf, here's part of yours:
> KeepAlive On
> ...
> MaxClients 150
You should configure apache properly for mod_perl. Generally you want
keepalive turned off and
maxclients set to something your server can handle based on the size of your apache children.
--
perl -MO=Deparse -e"u j t S n a t o e h r , e p l r a h k c r e"