mysql:6136
From: <ml_mysql@xxxxxxxxxx>
Date: Fri, 13 Sep 2002 15:24:53 +0900
Subject: [mysql 06136] CGI::SpeedyCGI と Mysql との組み合わせ
こんにちは
石川といいます。
今まで使っていたスクリプト(Perl) をCGI::SpeedyCGI を使用するように
しました。
具体的には
#!/usr/bin/perl ---> #!/usr/bin/speedy -- -M100 -t600 -r500
に変更し、
スクリプトの最初に
use CGI::SpeedyCGI;
my $sp = CGI::SpeedyCGI->new;
undef ($hogehoge);
:
:
:
のように変数をクリアーするようにしただけです。
自分でテストをしたときには正常に動作していましたが、
実際に稼動させた所、以下のエラーがApache のエラーログに記録されています。
Issuing rollback() for database handle being DESTROY'd without explicit
disconnect() at /var/www/hogehoge.pl line 758.
頻度は 約10000回動いて20回ほどエラーが記録されています。
デバッグの進め方を教えていただければ、
CGI::SpeedyCGI を使った場合のMysql で一般的な注意点はあるのでしょうか?
また、せっかくCGI::SpeedyCGIを使っていますので、
データーベースのconnect を毎回しないでよい方法は?
すみません、分からない事ばかりで、
よろしくお願いします。
● 以下がエラーが出る部分です。
######################### DB HANDRING ######################
package db_out;
my $dbh;
my $out;
my $flg_connect = 0;
use strict;
use CGI qw(:standard);
use DBI;
sub connect{
if ($flg_connect == 0){
$dbh = DBI->connect('DBI:mysql:present','root','hogehoge');
$flg_connect = 1;
}
}
sub id_read{
my($query) = @_;
my($err_flg);
&connect;
$out = $dbh->prepare($query);
$out->execute; ### <---- 758 行目
$out->bind_col(1,\$err_flg);
$out->fetch;
return $err_flg;
}
● その他
OS Red hat rinux 7.0
Perl v5.6.0
SpeedyCGI 2.11
-> 6136 2002-09-13 15:24 [<ml_mysql@xxxxxxxxxx] CGI::SpeedyCGI と Mysql との組み合わせ 6137 2002-09-13 16:30 ┗["Takashi Yamashita" ] 6138 2002-09-13 17:30 ┗[<ml_mysql@xxxxxxxxxx] 6139 2002-09-13 18:00 ┗["Takashi Yamashita" ] 6143 2002-09-14 09:33 ┗["KAWAI,Takanori" <GC]