Only in otrs-2.2.4_fcgi/bin/fcgi-bin: index_new.fpl diff -ru otrs-2.2.4/Kernel/System/DB.pm otrs-2.2.4_fcgi/Kernel/System/DB.pm --- otrs-2.2.4/Kernel/System/DB.pm 2007-08-28 22:02:13.000000000 +0200 +++ otrs-2.2.4_fcgi/Kernel/System/DB.pm 2007-12-20 13:06:49.000000000 +0100 @@ -76,6 +76,8 @@ # 0=off; 1=updates; 2=+selects; 3=+Connects; $Self->{Debug} = $Param{Debug} || 0; + $Self->{FCGI_Mode} = $Param{FCGI_Mode} || 0; + # check needed objects foreach (qw(ConfigObject LogObject MainObject)) { if ($Param{$_}) { @@ -794,7 +796,9 @@ sub DESTROY { my $Self = shift; - $Self->Disconnect(); + if (!$Self->{FCGI_Mode}) { + $Self->Disconnect(); + } return 1; } 1; diff -ru otrs-2.2.4/Kernel/System/Web/InterfaceAgent.pm otrs-2.2.4_fcgi/Kernel/System/Web/InterfaceAgent.pm --- otrs-2.2.4/Kernel/System/Web/InterfaceAgent.pm 2007-09-07 11:12:46.000000000 +0200 +++ otrs-2.2.4_fcgi/Kernel/System/Web/InterfaceAgent.pm 2007-12-20 13:05:55.000000000 +0100 @@ -67,6 +67,8 @@ # get debug level $Self->{Debug} = $Param{Debug} || 0; + $Self->{FCGI_Mode} = $Param{FCGI_Mode} || 0; + # performance log $Self->{PerformanceLogStart} = time(); @@ -707,16 +709,29 @@ Comment => 'Please contact your admin' ); } + + # debug info if ($Self->{Debug}) { - $Self->{LogObject}->Log( - Priority => 'debug', + $Self->{LogObject}->Log( + Priority => 'debug', Message => 'Global handle stopped.', ); } - # db disconnect && undef %Param - $Self->{DBObject}->Disconnect(); - undef %Param; + + if (!$Self->{FCGI_Mode}) { + # db disconnect && undef %Param + $Self->{DBObject}->Disconnect(); + }else{ + if ($Self->{Debug}) { + $Self->{LogObject}->Log( + Priority => 'debug', + Message => 'DB connection NOT Disconnected.', + ); + } + } + + undef %Param; } 1; Only in otrs-2.2.4_fcgi/scripts: fcgi-startup.pl