Hi Stas,
I checked using by 'SetHandler modperl', but apache responded no data without
error.
Apache log said HTTP response code was 200, but size was 0.
192.168.1.xxx - - [16/Aug/2002:22:01:51 +0900] "GET /cgi-bin/test1.cgi
HTTP/1.1" 200 0
What is wrong? I still counldn't understand clearly.
Thank you.
Atsushi
----[/conf/httpd.conf]----
<IfModule mod_perl.c>
PerlRequire "/yopt/httpd-2.0.39_prefork_perl5.6.1normal/conf/startup.pl"
PerlModule ModPerl::Registry
<Location /cgi-bin>
SetHandler modperl
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
</Location>
</IfModule>
--------
----[/conf/startup.pl]----
use Apache2 ();
use lib qw(/yopt/httpd-2.0.39_prefork_perl5.6.1normal/cgi-bin);
# enable if the mod_perl 1.0 compatibility is needed
# use Apache::compat ();
use ModPerl::Util (); #for CORE::GLOBAL::exit
use Apache::RequestRec ();
use Apache::RequestIO ();
use Apache::RequestUtil ();
use Apache::Server ();
use Apache::ServerUtil ();
use Apache::Connection ();
use Apache::Log ();
use APR::Table ();
use ModPerl::Registry ();
use Apache::Const -compile => ':common';
use APR::Const -compile => ':common';
1;
--------
----[/cgi-bin/test1.cgi]----
#!/yopt/perl5.6.1normal/bin/perl
use strict;
use DBI;
my $dsn = 'dbi:Oracle:';
my $user = 'username/password';
my $password = '';
my $dbh;
my $sth;
my $sql = "select SEQUENCE_OWNER, SEQUENCE_NAME, LAST_NUMBER from
ALL_SEQUENCES";
my $rv;
my @row;
#################
print "Content-type: text/html\n\n";
$ENV{'ORACLE_HOME'} = '/u01/app/oracle/product/9.0.1';
$ENV{'ORACLE_SID'} = 'ynt0';
$ENV{'NLS_LANG'} = 'japanese_japan.ja16euc';
print "ORACLE_HOME=$ENV{'ORACLE_HOME'}<br>\n";
print "ORACLE_SID=$ENV{'ORACLE_SID'}<br>\n";
print "NLS_LANG=$ENV{'NLS_LANG'}<br>\n";
print "DSN=$dsn$ENV{'ORACLE_SID'}<br>\n";
$dbh = DBI->connect("$dsn$ENV{'ORACLE_SID'}", $user, $password)
or die "Cannot connect: ".$DBI::errstr;
$sth = $dbh->prepare($sql)
or die "Cannot prepare: ".$dbh->errstr();
$rv = $sth->execute
or die "Cannot execute: ".$sth->errstr();
print "sth=$sth,rv=$rv\n";
while(@row = $sth->fetchrow_array){
print "@row\n";
}
$sth->finish();
$dbh->disconnect();
exit(0);
--------
----- Original Message -----
From: "Stas Bekman" <[EMAIL PROTECTED]>
To: "Atsushi Fujita" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Friday, August 16, 2002 6:12 PM
Subject: Re: apache2, DBD/Oracle problem
> Atsushi Fujita wrote:
> > Hi Stas,
> >
> >
> >>Can you please try to convert the script into a mod_perl handler and
> >>test again?
> >
> >
> > OK, I just checked it.
> > The result was everything fine using by mod_perl handler!
> > There was no problem in my new code.
> >
> > ...But I want to use ModPerl::Registry, because this is easy to migrate
from
> > normal CGI script.
> > Please investigate the reason.
>
> I still doubt it's a registry problem. Because you've used different
> SetHandler's for the registry and the mod_perl handler.
>
> I bet that if you set:
>
> <Location /perl>
> SetHandler modperl
> ^^^^^^^
> PerlResponseHandler ModPerl::Registry
> PerlOptions +ParseHeaders
> Options +ExecCGI
> </Location>
>
> it'll all work.
>
> Read:
>
http://perl.apache.org/docs/2.0/user/config/config.html#mod_perl_2_0_Handlers
> and that will explain the problem.
>
> Please let us know if this was indeed the cause.
>
> __________________________________________________________________
> Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
> http://stason.org/ mod_perl Guide ---> http://perl.apache.org
> mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
> http://modperlbook.org http://apache.org http://ticketmaster.com
>
>