Thread: Help me for "DBI->connect failed: Sorry, too many clients already."
my cgi program is test.cgi:
#######################
require "./connectdb.pl";
&connectdatabase();
$query="select count(*) from messages";
$sth=$dbh->prepare($query);
$sth->execute();
$count=$sth->fetchrow_array();
print "Content-type: text/html\n\n";
print <<"TAG";
<html>
<body>
<h2> The count is $count. </h2>
</body>
</html>
TAG
exit 0;
#############
my connectdb.pl :
sub connectdatabase {
# my ($dbusername,$dbpassword)=@_;
$dbusername="postgres";
$dbpassword="lokicom";
$dbname="mboardsony";
use DBI;
$dbh=DBI->connect("dbi:Pg:dbname=$dbname",$dbusername,$dbpassword) or die "can
not connect to $dbname\n";
}
1;
#######################
my os is Redhat 6.2,and perl 5.005,and web server is Apache.
The problem is:when I run test.cgi,it can work properly.But when I press F5
to refresh the web page for sever minutes,the Apache will have error message:
"DBI->connect failed: Sorry, too many clients already."
Who can help me?
Thank you ahead.
My email: joel_xue@hotmail.com
#######################
require "./connectdb.pl";
&connectdatabase();
$query="select count(*) from messages";
$sth=$dbh->prepare($query);
$sth->execute();
$count=$sth->fetchrow_array();
print "Content-type: text/html\n\n";
print <<"TAG";
<html>
<body>
<h2> The count is $count. </h2>
</body>
</html>
TAG
exit 0;
#############
my connectdb.pl :
sub connectdatabase {
# my ($dbusername,$dbpassword)=@_;
$dbusername="postgres";
$dbpassword="lokicom";
$dbname="mboardsony";
use DBI;
$dbh=DBI->connect("dbi:Pg:dbname=$dbname",$dbusername,$dbpassword) or die "can
not connect to $dbname\n";
}
1;
#######################
my os is Redhat 6.2,and perl 5.005,and web server is Apache.
The problem is:when I run test.cgi,it can work properly.But when I press F5
to refresh the web page for sever minutes,the Apache will have error message:
"DBI->connect failed: Sorry, too many clients already."
Who can help me?
Thank you ahead.
My email: joel_xue@hotmail.com
Re: [ADMIN] Help me for "DBI->connect failed: Sorry, too many clients already."
From
Jie Liang
Date:
Hi,there, I hope it helps; 1. postgres by default allows 16 sessiones(if I don't remember wrong) at same time. You can change the setting according to the doccument. open too many sessiones at same time will more or less affect the performance. 2. I believe that using Pg module will be easier than DBI. Jie LIANG Internet Products Inc. 10350 Science Center Drive Suite 100, San Diego, CA 92121 Office:(858)320-4873 jliang@ipinc.com www.ipinc.com On Tue, 19 Dec 2000, Joseph wrote: > my cgi program is test.cgi: > ####################### > require "./connectdb.pl"; > &connectdatabase(); > $query="select count(*) from messages"; > $sth=$dbh->prepare($query); > $sth->execute(); > $count=$sth->fetchrow_array(); > print "Content-type: text/html\n\n"; > print <<"TAG"; > <html> > <body> > <h2> The count is $count. </h2> > </body> > </html> > TAG > exit 0; > ############# > my connectdb.pl : > sub connectdatabase { > # my ($dbusername,$dbpassword)=@_; > $dbusername="postgres"; > $dbpassword="lokicom"; > $dbname="mboardsony"; > use DBI; > $dbh=DBI->connect("dbi:Pg:dbname=$dbname",$dbusername,$dbpassword) or die "can > not connect to $dbname\n"; > } > 1; > ####################### > my os is Redhat 6.2,and perl 5.005,and web server is Apache. > The problem is:when I run test.cgi,it can work properly.But when I press F5 > to refresh the web page for sever minutes,the Apache will have error message: > "DBI->connect failed: Sorry, too many clients already." > Who can help me? > Thank you ahead. > > My email: joel_xue@hotmail.com >