CGI/Perl Guide | Learning Center | Forums | Advertise | Login
Site Search: in

  Main Index MAIN
INDEX
Search Posts SEARCH
POSTS
Who's Online WHO'S
ONLINE
Log in LOG
IN

Home: Perl Programming Help: Beginner:
Problem Setting Up ptkdb For mod_perl

 



yccheok
New User

Nov 5, 2008, 6:39 AM

Post #1 of 2 (229 views)
Problem Setting Up ptkdb For mod_perl Can't Post

Hi, I wish to setup a GUI debugging environment for my CGI, which is running using apache mod_perl

I update the following file (/usr/local/apache_modperl/conf/httpd.conf) to the below content :-

### Start to hack by Cheok
<Perl>
use Apache::DB();
Apache::DB->init;
</Perl>
<Location />
PerlFixupHandler Apache::DB
</Location>
### End to hack by Cheok

and the following file (/usr/local/lib/perl/5.8.8/Apache/DB.pm)

if (!$loaded_db) {
# Fallback
# require 'Apache/perl5db.pl';
# Hacked by Cheok
require Devel::ptkdb;
}

When I launch a web site, I get the following error log :-

[yanchengdev] [modperl] Prototype mismatch: sub CORE::GLOBAL::exit: none vs (;$) at /usr/local/lib/perl/5.8.8/Tk.pm line 414. [failed] [Connection refused]
[yanchengdev] [modperl] [Wed Nov 5 10:48:53 2008] [notice] child pid 15698 exit signal Segmentation fault (11) [success]
[yanchengdev] [modperl] Prototype mismatch: sub CORE::GLOBAL::exit: none vs (;$) at /usr/local/lib/perl/5.8.8/Tk.pm line 414. [failed] [Connection refused]
[yanchengdev] [modperl] [Wed Nov 5 10:48:54 2008] [notice] child pid 15699 exit signal Segmentation fault (11) [success]

Any hint on the problem? Is it because I am editing the wrong files (httpd.conf and DB.pm). I search through my Linux machine, I get the following files for DB.pm and httpd.conf

/etc/apache/httpd.conf
/usr/share/apache/default-configs/apache-ssl/httpd.conf
/usr/share/apache/default-configs/apache/httpd.conf
/usr/share/apache/default-configs/apache-perl/httpd.conf
/usr/share/doc/apache/examples/httpd.conf
/usr/local/apache_proxy/conf/httpd.conf
/usr/local/apache_modperl/conf/httpd.conf <--- I am editing this one

/usr/share/perl5/Locale/Object/DB.pm
/usr/share/perl5/DBIx/Class/DB.pm
/usr/share/perl/5.8.8/DB.pm
/usr/local/lib/perl/5.8.8/Apache/DB.pm <--- I am editing this one

Thanks!

Cheok


yccheok
New User

Nov 6, 2008, 1:46 AM

Post #2 of 2 (225 views)
Re: [yccheok] Problem Setting Up ptkdb For mod_perl [In reply to] Can't Post

OK. I temporary solve the problem by comment out the line

## *CORE::GLOBAL::exit = \&exit;

I try to test whether TK/Perl debugging tool still work by

(1) ssh -X root@remotemachine
(2) cat cheok.cgi

#!/usr/bin/perl5 -Twd:ptkdb

print "Hello World From Cheok.\n";
print "Good Bye World.\n";

(3) /usr/bin/perl5 -T cheok.cgi

OK. The GUI windows shown up, and I can perform step debugging.

Now, I try to test on the web site. I want to start my apache in single process mode. Hence, I edit the following files

/usr/local/apache_modperl/bin/apachectl
/etc/init.d/apache

to content (I just add -X flag)

case "$1" in
start)
log_begin_msg "Starting $NAME 1.3 web server..."
if $ENV $SSD --start --pidfile $PIDFILE --make-pidfile $PIDFILE --exec $DAEMON --oknodo --verbose -- -X -f $CONF; then

Then I run

yanchengdev:/$ /usr/local/apache_modperl/bin/apachectl stop
Stopping apache 1.3 web server....
yanchengdev:/$ /usr/local/apache_modperl/bin/apachectl start
Starting apache 1.3 web server...GnuPlot already exists in [/tmp/]. Skipping copy.
PRELOADING SCRIPTS...
Regenerating autold...done.
[notice] Apache::DB initialized in child 17975
GnuPlot already exists in [/tmp/]. Skipping copy.
PRELOADING SCRIPTS...
Regenerating autold...done.

I use my browser to request cheok.cgi

The web page is displayed at browser. But there are no GUI debugger windows at all.

I check the error log file in apache, there isn't any error :(

Any hint? I am lost...

Cheok

 
 


Search for (options) Powered by Gossamer Forum v.1.2.0

Web Applications & Managed Hosting Powered by Gossamer Threads
Visit our Mailing List Archives