I've written a small CGI::Application CMS that publishes content to flat
files via. The file-type can be any that the designers decide, but generally
it will be something that supports includes such as SSI or PHP. This is fine
most of the time but occasionally I need to produce dynamic pages - e.g. a
search result.
To do this, I generate the search result php/shtml page to the file system, and then request it from the web server using LWP:
my $file = $self->get_value('cms_document_root') . "/" . $page;
$self->logger->debug("Creating $file");
# write the results to the temporary file
open(FH, ">$file") || die "Cannot create $file";
print FH $template->output();
close FH || die "Cannot close $file"; $self->logger->debug("Created $file");
# request the temporary file my $request_page = "http://" . $ENV{SERVER_NAME} .
$self->get_value('cms_publish_url') . "/$page";
$self->logger->debug("request_page: $request_page");
my $agent = LWP::UserAgent->new;
my $request = HTTP::Request->new(GET => $request_page);
This works fine under standard CGI, but the LWP request times out under mod_perl. The temporary page name is random, so I know that it's not a file conflict.
Have I missed something? I'm using Apache 1.3.31 and mod_perl 1.29 on Windows XP, but whatever I do has to also work under vanilla CGI.
Not sure if there is something specific under win32, but mod_perl differs from mod_cgi since:
1) it is running under the same username the server runs with 2) the environment persists
In the script above, you don't use LWP, you create an agent, but you don't use it. I can't see where the actual request is.
-- __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com