Provided by: libapache-db-perl_0.18-1build2_amd64 bug

NAME

       Apache::DB - Run the interactive Perl debugger under mod_perl

SYNOPSIS

        <Location /perl>
         PerlFixupHandler +Apache::DB

         SetHandler perl-script
         PerlHandler +Apache::Registry
         Options +ExecCGI
        </Location>

DESCRIPTION

       Perl ships with a very useful interactive debugger, however, it does not run "out-of-the-box" in the
       Apache/mod_perl environment.  Apache::DB makes a few adjustments so the two will cooperate.

FUNCTIONS

       init
           This function initializes the Perl debugger hooks without actually starting the interactive debugger.
           In  order  to  debug  a  certain piece of code, this function must be called before the code you wish
           debug is compiled.  For example, if you want to insert debugging symbols into code that  is  compiled
           at  server  startup,  but  do  not  care  to  debug  until  request  time,  call this function from a
           PerlRequire'd file:

            #where db.pl is simply:
            # use Apache::DB ();
            # Apache::DB->init;
            PerlRequire conf/db.pl

            #where modules are loaded
            PerlRequire conf/init.pl

           If you are using mod_perl 2.0 you will need to use the following as your db.pl:

             use APR::Pool ();
             use Apache::DB ();
             Apache::DB->init();

       handler
           This function will start the interactive  debugger.   It  will  invoke  Apache::DB::init  if  needed.
           Example configuration:

            <Location /my-handler>
             PerlFixupHandler Apache::DB
             SetHandler perl-script
             PerlHandler My::handler
            </Location>

SELinux

       Security-enhanced  Linux  (SELinux)  is  a  mandatory  access control system many linux distrobutions are
       implementing.  This new security scheme can assist you with protecting a  server,  but  it  doesn't  come
       without its own set of issues.  Debugging applications running on a box with SELinux on it takes a couple
       of extra steps and unfortunately the instructions that follow have only been tested on RedHat/Fedora.

       1) You need to edit/create the file "local.te" and add the following:

       if (httpd_tty_comm) {
           allow { httpd_t } admin_tty_type:chr_file { ioctl getattr }; }

       2) Reload your security policy.

       3) Run the command "setsebool httpd_tty_comm true".

       You  should  be  aware  as  you  debug  applications  on a system with SELinux your code may very well be
       correct, but the system policy is denying your actions.

CAVEATS

       -X  The server must be started with the "-X" to use Apache::DB.

       filename/line info
           The filename of Apache::Registry scripts is not displayed.

SEE ALSO

       perldebug(1)

AUTHOR

       Originally written by Doug MacEachern

       Currently maintained by Dirk Lindner <lze@cpan.org>

LICENSE

       This module is distributed under the same terms as Perl itself.

perl v5.34.0                                       2022-02-06                                            DB(3pm)