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