2009年12月21日星期一

Re: [PerlChina] 测试时,mason 链接mysql出错,提?Too many connections



2009/12/22 Beckheng Lam <bi.ken.lam@gmail.com>
会不会是代码里的问题,我以前初用MASON的时候,也遇到过这个情况。
后来将$dbh改为全局变量就好了。开始的时候,将$dbh为局部变量,多个调用后,MYSQL链接数就激增了。

会不会是你在某些代码里调用abort了?没有继续调用disconnect?


joe jiang wrote:
Apache 里面调用 DBI 的时候,关闭其实没有任何用的。因为这个 disconnect 被 override 了。
$dbh是我在配置文件里设置的全局变量。代码如下:
PerlSetVar MasonAllowGlobals "$user $dbh" 
Chat Skype: joejiang799 MSN: joe_jiang799@hotmail.com
Contact Me Linkedin Flickr




2009/12/22 joewu <joewu@cyagen.com>
在 最顶层的autohandler放置了链接方法代码如下:
my $dsn="DBI:mysql:vb:localhost";
my $username='root';
my $password='7232830';
my %conn_attrs=(RaiseError=>1,PrintErros=>0,AutoCommit=>1);
   $dbh=DBI->connect($dsn,$username,$password,\%conn_attrs);
   
   $dbh->disconnect();

验证密码的模块 代码是 $m->comp('validate_password.mas',%ARGS)!=1

然后不段的按 submit按钮,第一次没问题 第二次没问题 。但是一直按 下去 就会出现下面的 错误:
DBI connect('vb:localhost','root',...) failed: Too many connections ;

奇怪的是 链接在autohander 已经关闭了 为什么还会出现这种情况呢?
应该怎么解决啊?




--  Perl乐事 -- http://www.perlersh.org 我的博客 -- http://www.perlersh.org/blog.html 揭谛揭谛,波罗揭谛,波罗僧揭谛,菩提萨婆诃。 

--

您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--

您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

没有评论: