This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.
dbi-users@isc.org Subject: Re: MySQL/Apache/mod_perl/DBI Woes From: Paul Lukins <plukins@flashcom.net> Date: Wed, 20 Sep 2000 21:40:25 -0700 axtjr@uaa.alaska.edu wrote: > > I've got a problem (of course) and am hoping someone has had experience with > it. Listed below are the relevant peices of information, if you need anymore > please feel free to ask. Can someone tell me why I'm getting the error that > I am? And, how to fix it? > > My setup is this: > Running on FreeBSD 3.2 > Server version: Apache/1.3.12 (Unix) with mod_perl 1.24 > MySQL 3.22.32 > perl 5.005 w/ the following module combinations: > Bundle::DBD::mSQL (J/JW/JWIED/Msql-Mysql-modules-1.2215.tar.gz) > Bundle::DBD::mysql (J/JW/JWIED/Msql-Mysql-modules-1.2215.tar.gz) > Bundle::DBI (T/TI/TIMB/DBI-1.14.tar.gz) > > AND > Bundle::DBD::mSQL (J/JW/JWIED/Msql-Mysql-modules-1.2214.tar.gz) > Bundle::DBD::mysql (J/JW/JWIED/Msql-Mysql-modules-1.2214.tar.gz) > Bundle::DBI (T/TI/TIMB/DBI-1.13.tar.gz) > > I'm using the following script. If I run it from the command line I get the > appropriate feedback and the script runs properly. When attempting to run it > from a web interface I get an Internal Error w/ the following log entries. > > Test Script: > #!/bin/perl -w > > use DBI; > use CGI; > > my $q = new CGI; > > print($q->header()); > print($q->start_html()); > > my $dbh = DBI->connect('dbi:mysql:kosh_db', 'validuserid', 'validpwd') || > die("$DBI::errstr"); > > my @tables = $dbh->tables(); > > print("Displaying current tables...\n"); > > foreach my $table ( @tables ) { > print($q->p("Table: $table")); > # print("Table: $table\n"); > } > > $dbh->disconnect(); > > print($q->end_html()); > > Log Entries: > > [Tue Sep 19 15:23:46 2000] null: Use of uninitialized value at > /usr/local/lib/perl5/site_perl/5.005/i386-freebsd/DBI.pm line 687. > [Tue Sep 19 15:23:46 2000] [error] [Tue Sep 19 15:23:46 2000] null: > Undefined subroutine &DBD::mysql::db::_login called at > /usr/local/lib/perl5/site_perl/5.005/i386-freebsd/DBD/mysql.pm line 82. > (in cleanup) [Tue Sep 19 15:23:46 2000] null: Driver has not > implemented DESTROY for DBI::db=HASH(0x843561c) at > /usr/local/lib/perl5/site_perl/5.005/i386-freebsd/Apache/Registry.pm line > 144 I use pretty much the same setup and have seen problems like this. Most of the time it's because I modified a file that apache already has in cache, and the cache doesn't get updated automatically. This is true of any 'use'd or 'require'd scripts/modules. Try restarting the server. Here's a link with some good info on the topic: http://perl.apache.org/dist/mod_perl_traps.html ===