"Jonathan M. Hollin" wrote:

> This is driving me crazy...  is there anything special I need to do when
> using DBI (DBD::MySQL) with mod_perl.  A script that works just fine sans
> mod_perl dies with error 500 (Internal Server Error) when mod_perl is
> enabled for that file type:
>
> Web Server:  Apache/1.3.19(Win32) mod_perl/1.24_01 on a Windows 2000
> server -- connecting to a MySQL 3.23.38-nt DB-server.
>
> Sample of httpd.conf:
>
> # BEGIN MOD_PERL CONFIG
> LoadModule perl_module modules/ApacheModulePerl
> ScriptAlias /perl-bin/ "perl-bin/"
> PerlSendHeader On
> <Location /perl-bin>
> SetHandler perl-script
> PerlHandler Apache::Registry
> Options ExecCGI
> </Location>
>
> <Files *.pl>
> SetHandler perl-script
> PerlHandler Apache::Registry
> Options ExecCGI
> </Files>
>
> <Files *.cgi>
> SetHandler perl-script
> PerlHandler Apache::Registry
> Options ExecCGI
> </Files>
>
> # END MOD_PERL CONFIG
>
> Error Log entry:
>
> [Tue May 22 00:13:09 2001] nul: DBI->connect failed: Can't connect to MySQL
> server on 'localhost' (10061) at e:/pad/htdocs/internet/system/frontpage.cgi
> line 29
> [Tue May 22 00:13:09 2001] [error] Can't call method "prepare" on an
> undefined value at e:/pad/htdocs/internet/system/frontpage.cgi line 30.
>
> Perl Code:
>
>         use DBI();
>         $driver = "mysql";
>         $dsn = "DBI:$driver:database=shapeshifter;host=localhost";
>         $dbh = DBI->connect($dsn, dbusrname, dbpassword);

how bout adding a 'or die DBI->errstr' to the above line to find out whats
happening.

>
>         my $sth = $dbh->prepare("SELECT * FROM frontpage");
>         $sth->execute();
>         while (my $ref = $sth->fetchrow_hashref()) {
>                 $body .= qq~Found a row: id = $ref->{'serial_number'}, name =
> $ref->{'position'}<BR>~;
>         }
>         $sth->finish();
>         $dbh->disconnect();
>
> Any help appreciated.  I have RTFMs but I can't reach any conclusions about
> contention between mod_perl and MySQL...
>
> Kindest regards,
> Jonathan M. Hollin
> Digital-Word.com

Reply via email to