I'm writing an e-commerce package that uses mod-perl for all the
product presentation. The mod-perl scripts use DBI, CGI, and my own
perl modules which I understand all stay resident with each child
server. I am quite pleased with their performance.

I want to use good old-fashioned cgi for the checkout because
performance isn't such an issue and I'm super-paranoid about customer
data persisting between requests.

I use a POST request to add a product to the cart, which is NOT a
mod-perl script. Sometimes the POST body is not there.

I thought that it was CGI.pm, so I simplified my script to simply
print a Content-type header, and then print out everything received
from <STDIN>. My script is:
          #!/usr/bin/perl
          use warnings;
          my $a;
          undef $/;
          $a=<STDIN>;

          print "Content-type: text/plain\n\n";
                                                                      
                                                                      
  print "postdata=$a\n";


If I stop using all mod-perl on other scripts, the problem disappears.

I know it sounds crazy, but non-modperl scripts sometimes don't get
their POST data if I use modperl for other scripts.

I modified the log file format to include %P (pid). I believe that
there is some affinity with the problem and a particular apache child,
but i've seen the same child server succeed, fail, then succeed again.

I'm using Mandrake 10 with their "advx" bundle of apache with modperl
and lots of goodies.
$ENV{MOD_PERL}=mod_perl/1.99_11
perl -v says: "This is perl, v5.8.3 built for i386-linux-thread-multi"

I suspect that my particular apache setup is trying to accelerate all
perl cgi, even with the handler set to "cgi-script."

Do you have any advice on what could be happening? 

Many Thanks
-dg

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html

Reply via email to