Yes I have that set, and my PerlRequire file is pretty minimal: #!/usr/bin/perl use lib qw(/usr/lib64/perl5 /usr/share/perl5 /usr/local/lib64/perl5 /home/allwebfiles/perl/LocalModules /usr/lib64/perl5/vendor_perl/Bundle); use CGI (); use PharmApps::CleanCGI (); CGI->compile(':all'); use DBI (); use Apache2; 1;
This is similar to the one I’ve used on another production server for some time without issues, but that one doesn’t use MySQL, only Oracle. As I said other mod_perl applications on this same server are working as expected; this issue seems to be strictly with the DBD::mysql file for DBI. On Jun 3, 2020, at 11:25 AM, Bill Hess <bh...@techrg.com<mailto:bh...@techrg.com>> wrote: This MIGHT be the problem... If you have some lines like this in your Apache httpd.conf PerlModule mod_perl2 PerlRequire /path/to/my/conf/files/apache.pl<http://apache.pl/> And the file /path/to/my/conf/files/apache.pl<http://apache.pl/> should look something like #!/usr/bin/perl use ModPerl::Util (); use Apache2::RequestRec (); use Apache2::RequestIO (); use Apache2::RequestUtil (); use Apache2::ServerRec (); use Apache2::ServerUtil (); use Apache2::Connection (); use Apache2::Log (); use Apache2::Const -compile => ':common'; use APR::Const -compile => ':common'; use APR::Table (); use DBI; # Perhaps some other modules you are using in your CGI scripts... 1; On Wed, Jun 3, 2020 at 1:53 PM Bruce Johnson <john...@pharmacy.arizona.edu<mailto:john...@pharmacy.arizona.edu>> wrote: I’m migrating a bunch of old cgi web apps to a new server (CentOS8) and running them under mod_perl. one of them uses the DBD::mysql driver and when running under mod_perl only I get the strange error: [Tue Jun 02 10:29:32.289698 2020] [:error] [pid 3729:tid 140210163652352] DBD::mysql initialisation failed: Can't locate object method "driver" via package "DBD::mysql" at /usr/lib64/perl5/vendor_perl/DBI.pm line 827.\n\nPerhaps the capitalisation of DBD 'mysql' isn't right. at /home/allwebfiles/perl/badges/choose.pl<http://choose.pl/> line 54.\n This is a really wrong error, since the DBD/mysql.pm<http://mysql.pm/> script quite clearly has a sub called ‘driver’ and there is no isssue of capitalization in the database handle creation. the handler code in my perl.conf file is pretty simple: <Location /badges/> SetHandler perl-script PerlHandler ModPerl::Registry Options ExecCGI PerlSendHeader On allow from all </Location> And it works for other locations, although this is the only one using the mysql driver, but DBD::Oracle works fine for a number of other scripts. If I comment out the handler in perl.conf, add it as a ScriptAlias to run as a CGI script, it works. If I run the script itself on the command line, it works. I only get that error when I run it with a mod_perl handler. I've asked on the DBI list and no one there has any ideas... -- Bruce Johnson University of Arizona College of Pharmacy Information Technology Group Institutions do not have opinions, merely customs -- Bruce Johnson University of Arizona College of Pharmacy Information Technology Group Institutions do not have opinions, merely customs