I've just started using mod_perl, for a project that will deploy on both
Solaris and NT.  The initial development was done on Solaris, and I've just
moved things over to NT to verify that they work there too.  My modules all
run on NT, but StatINC doesn't seem to pick up changes that I make to
non-mod_perl modules.  

For example, I have a module Apache::Project::Main that is the PerlHandler
for urls beginning /main.  Apache::Project::Main in turn calls
Project::Home, which is responsible for printing out some of the html.  Both
modules are under {server root}/lib/perl/.  On the Solaris box, changes to
Apache::Project::Main and Project::Home would be immediately picked up.  On
the NT box, though, only changes to Apache::Project::Main are noticed; if I
want to modify Project::Home, I have to restart apache!  Directory structure
and config files are the same on both boxes (except for differences in
unix/nt paths). 

Neither the guide, Apache::StatINC pod, or searching the mailing list
archives has given me any clues as to whether I'm dealing with a bug or just
have misconfigured things.

  part of httpd.conf (any other spots that might be affecting things?):
-------------------------------

<IfModule mod_perl.c>
  Include conf/perl.conf
</IfModule>

<Location /main>
  SetHandler perl-script
  PerlHandler Apache::Project::Main
  PerlInitHandler Apache::StatINC
  PerlSetVar StatINCDebug on
</Location>

-------------------------------
  perl.conf:
-------------------------------

PerlRequire conf/startup.pl
PerlWarn on
PerlFreshRestart On

-------------------------------
  startup.pl:
-------------------------------

#!/Perl/5.00503/bin/MSWin32-x86/perl -w
use strict;

BEGIN {
  use Apache ();
  use lib Apache->server_root_relative('lib/perl');
}

# commonly used modules
use Apache::StatINC ();
use Apache::Status ();
use Apache::Constants ();
use CGI qw(-compile :all);
use CGI::Carp ();
use Apache::DBI ();


1;

Reply via email to