You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by PHANI MADHAVI <PH...@nestec.net> on 2000/07/17 06:18:36 UTC

Help needed for using Apache::DBI

Hi All,
we have installed Apache::DBI module ( system os is linux, web server
apache, running mod_perl and mysql is rdbms) in our systems. But it is not
working.
When i try to compile a sample file to test db connectivity using
Apache::DBI, it does not work.
Same thing works if I use DBI. 
The error is " can't locate object method "module" in the DBI.pm file"
We checked the DBI.pm file  and there is one statement which goes like this:
if ($INC{"Apache.pm"} and Apache->module("Apache::Status"));
And we searched for Apache.pm. We could find the file but not the "module".
Please let me know how should we proceed.

Regards,
Madhavi



-----Original Message-----
From: Vincent Bruijnes [mailto:vincent@bruijnes.com]
Sent: Sunday, July 16, 2000 12:30 AM
To: Sam Carleton
Cc: modperl@apache.org
Subject: Re: getting mod_perl configured on FreeBSD


Well i had the same problem on freebsd too.

first goto mod_perl directory:
perl Makefile.PL PREP_HTTPD=1 USE_APACI=1
then make make test and make install
Goto your apache directory ./configure --prefix=/www --enable-shared=max 
--activate-modules=src/modules/perl/libperl.a --disable-shared=perl
then make
and make install.
and voila your apache is configured as statically mod_perl and you have DSO 
enabled
so you never need to recompile apache if you want to add optional modules.

Good Luck and let me know if I can help you any more.
Vincent Bruijnes
At 21:21 14-7-00 -0400, you wrote:
>I have successfully gotten Apache/mod_perl to compile under Linux many a
>times.  This is my first attempt at compiling it on FreeBSD and I am
>having problems.  The problem is that when to do the "make test", apache
>never starts up.  I had once run into this on Linux and that was because
>the  .makepl_args.mod_perl was pointing to a non-existing layout file
>and I did not catch the error from the "perl Makefile.PL".  But I have
>looked and look at the output of the "perl Makefile.PL" and see nothing
>wrong.  I am going to post the output of "perl Makefile.PL", along with
>my .makepl_args.mod_perl and my layout file in hopes that one of you can
>find my error.  Thanks!!!!
>
>------------output from "perl Makefile.PL"------------
>Will run tests as User: 'nobody' Group: 'wheel'
>Configuring for Apache, Version 1.3.12
>  + using installation path layout: maineville
>(/usr/src/apache.config.layout)
>  + activated perl module (modules/perl/libperl.a)
>Creating Makefile
>Creating Configuration.apaci in src
>  + enabling mod_so for DSO support
>       + id: mod_perl/1.24
>       + id: Perl/5.00503 (freebsd) [perl]
>Creating Makefile in src
>  + configured for FreeBSD 4.0 platform
>  + setting C pre-processor to cc -E
>  + checking for system header files
>  + adding selected modules
>     o rewrite_module uses ConfigStart/End
>       enabling DBM support for mod_rewrite
>     o dbm_auth_module uses ConfigStart/End
>     o perl_module uses ConfigStart/End
>       + mod_perl build type: DSO
>       + setting up mod_perl build environment
>       + adjusting Apache build environment
>
>** Error: Cannot build mod_include with Perl support (USE_PERL_SSI) **
>** when mod_perl is compiled as DSO because of cross-module calls.  **
>** Ignoring PERL_SSI flag now.                                      **
>
>  + checking sizeof various data types
>  + doing sanity check on compiler and options
>Creating Makefile in src/support
>Creating Makefile in src/os/unix
>Creating Makefile in src/ap
>Creating Makefile in src/main
>Creating Makefile in src/modules/standard
>Creating Makefile in src/modules/proxy
>Creating Makefile in src/modules/perl
>Reading Makefile.PL args from ../.makepl_args.mod_perl
>Will configure via APACI
>cp apaci/Makefile.libdir
>/usr/src/apache/src/modules/perl/Makefile.libdir
>cp apaci/Makefile.tmpl /usr/src/apache/src/modules/perl/Makefile.tmpl
>cp apaci/README /usr/src/apache/src/modules/perl/README
>cp apaci/configure /usr/src/apache/src/modules/perl/configure
>cp apaci/libperl.module /usr/src/apache/src/modules/perl/libperl.module
>cp apaci/mod_perl.config.sh
>/usr/src/apache/src/modules/perl/mod_perl.config.sh
>cp apaci/load_modules.pl.PL
>/usr/src/apache/src/modules/perl/load_modules.pl.PL
>cp apaci/find_source.PL /usr/src/apache/src/modules/perl/find_source.PL
>cp apaci/apxs_cflags.PL /usr/src/apache/src/modules/perl/apxs_cflags.PL
>cp apaci/mod_perl.exp /usr/src/apache/src/modules/perl/mod_perl.exp
>PerlDispatchHandler.........enabled
>PerlChildInitHandler........enabled
>PerlChildExitHandler........enabled
>PerlPostReadRequestHandler..enabled
>PerlTransHandler............enabled
>PerlHeaderParserHandler.....enabled
>PerlAccessHandler...........enabled
>PerlAuthenHandler...........enabled
>PerlAuthzHandler............enabled
>PerlTypeHandler.............enabled
>PerlFixupHandler............enabled
>PerlHandler.................enabled
>PerlLogHandler..............enabled
>PerlInitHandler.............enabled
>PerlCleanupHandler..........enabled
>PerlRestartHandler..........enabled
>PerlStackedHandlers.........enabled
>PerlMethodHandlers..........enabled
>PerlDirectiveHandlers.......enabled
>PerlTableApi................enabled
>PerlLogApi..................enabled
>PerlUriApi..................enabled
>PerlUtilApi.................enabled
>PerlFileApi.................enabled
>PerlConnectionApi...........enabled
>PerlServerApi...............enabled
>PerlSections................enabled
>PerlSSI.....................enabled
>(cd /usr/src/apache && CC="cc" ./configure
>--activate-module=src/modules/perl/libperl.a --disable-rule=EXPAT
>--with-layout=/usr/src/apache.config.layout:maineville
>--server-uid=wwwrun --server-gid=daemon --enable-module=most
>--enable-shared=max --prefix=/data01/maineville)
>Checking CGI.pm VERSION..........ok
>Checking for LWP::UserAgent......ok
>Checking for HTML::HeadParser....ok
>'-ADD_MODULE' is not a known MakeMaker parameter name.
>Writing Makefile for Apache
>Writing Makefile for Apache::Connection
>Writing Makefile for Apache::Constants
>Writing Makefile for Apache::File
>Writing Makefile for Apache::Leak
>Writing Makefile for Apache::Log
>Writing Makefile for Apache::ModuleConfig
>Writing Makefile for Apache::PerlRunXS
>Writing Makefile for Apache::Server
>Writing Makefile for Apache::Symbol
>Writing Makefile for Apache::Table
>Writing Makefile for Apache::URI
>Writing Makefile for Apache::Util
>Writing Makefile for mod_perl
>
>------------.makepl_args.mod_perl------------
># File: .makepl_args.mod_erl
># enable all phase callbacks, API modules and misc features
>EVERYTHING=1
>
># tell runtime diagnostics to active if MOD_PERL_TRACE environment
># variable is set at runtime
>PERL_TRACE=1
>
># tell Makefile.pl where the Apache source tree is
>APACHE_SRC=/usr/src/apache/src
>
># tell Makefile.PL where the Apache is to be isntalled
>APACHE_PREFIX=/data01/maineville
>
># disable Makefile.pl from compiling Apache
># PREP_HTTPD=1
>
># tell Makefile.PL to use the first source found, which will be the
># path specified above by APACHE_SRC
>DO_HTTPD=1
>
># tell Makefile.PL to configure Apache using the apaci interface
>USE_APACI=1
>
># tell makefile.PL to configure ssl support, too
># SSL_BASE=/usr/local/ssl
>
># add mod_info, mod_status, mod_usertrack, and mod_unique_id
># ADD_MODULE=info,status,usertrack,unique_id
>
># additional arguments to give Apache's configure script
># aruments can be delimited by comma and/or specified with multipal
># APACI_ARGS lines
>#APACI_ARGS=--includedir=/usr/src/php
>#APACI_ARGS=--activate-module=src/modules/php3/libphp3.a
>APACI_ARGS=--with-layout=/usr/src/apache.config.layout:maineville
>APACI_ARGS=--server-uid=wwwrun
>APACI_ARGS=--server-gid=daemon
>APACI_ARGS=--enable-module=most
>APACI_ARGS=--enable-shared=max
>
>------------apache.config.layout------------
>##
>##  config.layout -- APACI Pre-defined Installation Path Layouts
>##
>##  Hints:
>##  - layouts can be loaded with APACI's --with-layout=ID option
>##  - when no --with-layout option is given, the default layout is
>`Apache'
>##  - a trailing plus character (`+') on paths is replaced with a
>##    `/<target>' suffix where <target> is the the argument from
>##    option --target (defaults to `httpd').
>##
>
><Layout maineville>
>     prefix:        /data01/maineville
>     exec_prefix:   $prefix
>     bindir:        $prefix/bin
>     sbindir:       $prefix/sbin
>     libexecdir:    $prefix/lib/apache
>     mandir:        /usr/local/man
>     sysconfdir:    $prefix/conf
>     datadir:       $prefix
>     iconsdir:      $datadir/icons
>     htdocsdir:     $datadir/htdocs
>     cgidir:        $datadir/cgi-bin
>     includedir:    $prefix/include/apache
>     localstatedir: $prefix
>     runtimedir:    $localstatedir/run
>     logfiledir:    $localstatedir/log
>     proxycachedir: $localstatedir/cache
></Layout>


Re: Help needed for using Apache::DBI

Posted by Edmund Mergl <E....@bawue.de>.
PHANI MADHAVI wrote:
> 
> Hi All,
> we have installed Apache::DBI module ( system os is linux, web server
> apache, running mod_perl and mysql is rdbms) in our systems. But it is not
> working.
> When i try to compile a sample file to test db connectivity using
> Apache::DBI, it does not work.
> Same thing works if I use DBI.
> The error is " can't locate object method "module" in the DBI.pm file"
> We checked the DBI.pm file  and there is one statement which goes like this:
> if ($INC{"Apache.pm"} and Apache->module("Apache::Status"));
> And we searched for Apache.pm. We could find the file but not the "module".
> Please let me know how should we proceed.
> 
> Regards,
> Madhavi
> 



in the next release I'll mention it in the README twice and in
bold letters:

  It's not only supposed to be used with the Apache server 
  together with an embedded perl interpreter like mod_perl,
  it can ONLY be used when running as mod_perl script.
  It can NOT be run in any script from the command-line.


Edmund


-- 
Edmund Mergl
mailto:E.Mergl@bawue.de
http://www.edmund-mergl.de
fon: +49 700 EDEMERGL

Re: Help needed for using Apache::DBI

Posted by Nigel Hamilton <ni...@e1mail.com>.
Hi,
	I've had the same bug for the past 3 weeks. 

	As far as I can tell mod_perl has been installed fine
(EVERYTHING=1 etc..) so I'm at loss to explain why ...
	
	A couple of other people have mentioned this bug recently too ...
has anyone solved it?

NIge


On Mon, 17 Jul 2000, PHANI MADHAVI wrote:

> Hi All,
> we have installed Apache::DBI module ( system os is linux, web server
> apache, running mod_perl and mysql is rdbms) in our systems. But it is not
> working.
> When i try to compile a sample file to test db connectivity using
> Apache::DBI, it does not work.
> Same thing works if I use DBI. 
> The error is " can't locate object method "module" in the DBI.pm file"
> We checked the DBI.pm file  and there is one statement which goes like this:
> if ($INC{"Apache.pm"} and Apache->module("Apache::Status"));
> And we searched for Apache.pm. We could find the file but not the "module".
> Please let me know how should we proceed.
> 
> Regards,
> Madhavi
> 
> 
> 
> -----Original Message-----
> From: Vincent Bruijnes [mailto:vincent@bruijnes.com]
> Sent: Sunday, July 16, 2000 12:30 AM
> To: Sam Carleton
> Cc: modperl@apache.org
> Subject: Re: getting mod_perl configured on FreeBSD
> 
> 
> Well i had the same problem on freebsd too.
> 
> first goto mod_perl directory:
> perl Makefile.PL PREP_HTTPD=1 USE_APACI=1
> then make make test and make install
> Goto your apache directory ./configure --prefix=/www --enable-shared=max 
> --activate-modules=src/modules/perl/libperl.a --disable-shared=perl
> then make
> and make install.
> and voila your apache is configured as statically mod_perl and you have DSO 
> enabled
> so you never need to recompile apache if you want to add optional modules.
> 
> Good Luck and let me know if I can help you any more.
> Vincent Bruijnes
> At 21:21 14-7-00 -0400, you wrote:
> >I have successfully gotten Apache/mod_perl to compile under Linux many a
> >times.  This is my first attempt at compiling it on FreeBSD and I am
> >having problems.  The problem is that when to do the "make test", apache
> >never starts up.  I had once run into this on Linux and that was because
> >the  .makepl_args.mod_perl was pointing to a non-existing layout file
> >and I did not catch the error from the "perl Makefile.PL".  But I have
> >looked and look at the output of the "perl Makefile.PL" and see nothing
> >wrong.  I am going to post the output of "perl Makefile.PL", along with
> >my .makepl_args.mod_perl and my layout file in hopes that one of you can
> >find my error.  Thanks!!!!
> >
> >------------output from "perl Makefile.PL"------------
> >Will run tests as User: 'nobody' Group: 'wheel'
> >Configuring for Apache, Version 1.3.12
> >  + using installation path layout: maineville
> >(/usr/src/apache.config.layout)
> >  + activated perl module (modules/perl/libperl.a)
> >Creating Makefile
> >Creating Configuration.apaci in src
> >  + enabling mod_so for DSO support
> >       + id: mod_perl/1.24
> >       + id: Perl/5.00503 (freebsd) [perl]
> >Creating Makefile in src
> >  + configured for FreeBSD 4.0 platform
> >  + setting C pre-processor to cc -E
> >  + checking for system header files
> >  + adding selected modules
> >     o rewrite_module uses ConfigStart/End
> >       enabling DBM support for mod_rewrite
> >     o dbm_auth_module uses ConfigStart/End
> >     o perl_module uses ConfigStart/End
> >       + mod_perl build type: DSO
> >       + setting up mod_perl build environment
> >       + adjusting Apache build environment
> >
> >** Error: Cannot build mod_include with Perl support (USE_PERL_SSI) **
> >** when mod_perl is compiled as DSO because of cross-module calls.  **
> >** Ignoring PERL_SSI flag now.                                      **
> >
> >  + checking sizeof various data types
> >  + doing sanity check on compiler and options
> >Creating Makefile in src/support
> >Creating Makefile in src/os/unix
> >Creating Makefile in src/ap
> >Creating Makefile in src/main
> >Creating Makefile in src/modules/standard
> >Creating Makefile in src/modules/proxy
> >Creating Makefile in src/modules/perl
> >Reading Makefile.PL args from ../.makepl_args.mod_perl
> >Will configure via APACI
> >cp apaci/Makefile.libdir
> >/usr/src/apache/src/modules/perl/Makefile.libdir
> >cp apaci/Makefile.tmpl /usr/src/apache/src/modules/perl/Makefile.tmpl
> >cp apaci/README /usr/src/apache/src/modules/perl/README
> >cp apaci/configure /usr/src/apache/src/modules/perl/configure
> >cp apaci/libperl.module /usr/src/apache/src/modules/perl/libperl.module
> >cp apaci/mod_perl.config.sh
> >/usr/src/apache/src/modules/perl/mod_perl.config.sh
> >cp apaci/load_modules.pl.PL
> >/usr/src/apache/src/modules/perl/load_modules.pl.PL
> >cp apaci/find_source.PL /usr/src/apache/src/modules/perl/find_source.PL
> >cp apaci/apxs_cflags.PL /usr/src/apache/src/modules/perl/apxs_cflags.PL
> >cp apaci/mod_perl.exp /usr/src/apache/src/modules/perl/mod_perl.exp
> >PerlDispatchHandler.........enabled
> >PerlChildInitHandler........enabled
> >PerlChildExitHandler........enabled
> >PerlPostReadRequestHandler..enabled
> >PerlTransHandler............enabled
> >PerlHeaderParserHandler.....enabled
> >PerlAccessHandler...........enabled
> >PerlAuthenHandler...........enabled
> >PerlAuthzHandler............enabled
> >PerlTypeHandler.............enabled
> >PerlFixupHandler............enabled
> >PerlHandler.................enabled
> >PerlLogHandler..............enabled
> >PerlInitHandler.............enabled
> >PerlCleanupHandler..........enabled
> >PerlRestartHandler..........enabled
> >PerlStackedHandlers.........enabled
> >PerlMethodHandlers..........enabled
> >PerlDirectiveHandlers.......enabled
> >PerlTableApi................enabled
> >PerlLogApi..................enabled
> >PerlUriApi..................enabled
> >PerlUtilApi.................enabled
> >PerlFileApi.................enabled
> >PerlConnectionApi...........enabled
> >PerlServerApi...............enabled
> >PerlSections................enabled
> >PerlSSI.....................enabled
> >(cd /usr/src/apache && CC="cc" ./configure
> >--activate-module=src/modules/perl/libperl.a --disable-rule=EXPAT
> >--with-layout=/usr/src/apache.config.layout:maineville
> >--server-uid=wwwrun --server-gid=daemon --enable-module=most
> >--enable-shared=max --prefix=/data01/maineville)
> >Checking CGI.pm VERSION..........ok
> >Checking for LWP::UserAgent......ok
> >Checking for HTML::HeadParser....ok
> >'-ADD_MODULE' is not a known MakeMaker parameter name.
> >Writing Makefile for Apache
> >Writing Makefile for Apache::Connection
> >Writing Makefile for Apache::Constants
> >Writing Makefile for Apache::File
> >Writing Makefile for Apache::Leak
> >Writing Makefile for Apache::Log
> >Writing Makefile for Apache::ModuleConfig
> >Writing Makefile for Apache::PerlRunXS
> >Writing Makefile for Apache::Server
> >Writing Makefile for Apache::Symbol
> >Writing Makefile for Apache::Table
> >Writing Makefile for Apache::URI
> >Writing Makefile for Apache::Util
> >Writing Makefile for mod_perl
> >
> >------------.makepl_args.mod_perl------------
> ># File: .makepl_args.mod_erl
> ># enable all phase callbacks, API modules and misc features
> >EVERYTHING=1
> >
> ># tell runtime diagnostics to active if MOD_PERL_TRACE environment
> ># variable is set at runtime
> >PERL_TRACE=1
> >
> ># tell Makefile.pl where the Apache source tree is
> >APACHE_SRC=/usr/src/apache/src
> >
> ># tell Makefile.PL where the Apache is to be isntalled
> >APACHE_PREFIX=/data01/maineville
> >
> ># disable Makefile.pl from compiling Apache
> ># PREP_HTTPD=1
> >
> ># tell Makefile.PL to use the first source found, which will be the
> ># path specified above by APACHE_SRC
> >DO_HTTPD=1
> >
> ># tell Makefile.PL to configure Apache using the apaci interface
> >USE_APACI=1
> >
> ># tell makefile.PL to configure ssl support, too
> ># SSL_BASE=/usr/local/ssl
> >
> ># add mod_info, mod_status, mod_usertrack, and mod_unique_id
> ># ADD_MODULE=info,status,usertrack,unique_id
> >
> ># additional arguments to give Apache's configure script
> ># aruments can be delimited by comma and/or specified with multipal
> ># APACI_ARGS lines
> >#APACI_ARGS=--includedir=/usr/src/php
> >#APACI_ARGS=--activate-module=src/modules/php3/libphp3.a
> >APACI_ARGS=--with-layout=/usr/src/apache.config.layout:maineville
> >APACI_ARGS=--server-uid=wwwrun
> >APACI_ARGS=--server-gid=daemon
> >APACI_ARGS=--enable-module=most
> >APACI_ARGS=--enable-shared=max
> >
> >------------apache.config.layout------------
> >##
> >##  config.layout -- APACI Pre-defined Installation Path Layouts
> >##
> >##  Hints:
> >##  - layouts can be loaded with APACI's --with-layout=ID option
> >##  - when no --with-layout option is given, the default layout is
> >`Apache'
> >##  - a trailing plus character (`+') on paths is replaced with a
> >##    `/<target>' suffix where <target> is the the argument from
> >##    option --target (defaults to `httpd').
> >##
> >
> ><Layout maineville>
> >     prefix:        /data01/maineville
> >     exec_prefix:   $prefix
> >     bindir:        $prefix/bin
> >     sbindir:       $prefix/sbin
> >     libexecdir:    $prefix/lib/apache
> >     mandir:        /usr/local/man
> >     sysconfdir:    $prefix/conf
> >     datadir:       $prefix
> >     iconsdir:      $datadir/icons
> >     htdocsdir:     $datadir/htdocs
> >     cgidir:        $datadir/cgi-bin
> >     includedir:    $prefix/include/apache
> >     localstatedir: $prefix
> >     runtimedir:    $localstatedir/run
> >     logfiledir:    $localstatedir/log
> >     proxycachedir: $localstatedir/cache
> ></Layout>
>