Changes for version 1.00_02
- 1.3b1 stuff:
- $r->warn and $r->log_error go through new aplog_error() function. If `LogLevel' is not set to `warn' or higher, $r->warn messages are ignored (not sent to error_log). (i.e. $r->warn == APLOG_WARNING, $r->log_error == APLOG_ERR)
- always enable child_init/child_exit
- use child_init for perl_init_ids()
- use child_exit to: -run END blocks suspended at server startup -run perl_destruct(), now global objects will be DESTROYed
- make sure mod_include can find modules/perl/mod_perl.h if PERL_SSI=1
- fix INCDIR in src/modules/perl/Makefile
- rename libmodperl -> libperl for new Configure changes
- added PerlPostReadRequestHandler hook for new api phase
- make Makefile.PL deal with source re-org
- is_matchexp -> is_fnmatch (perl_config.c)
- #undef die to resolve conflict spotted by Rob Hartill
- applied Apache->read patch from Evert-Jan Couperus to use lvalue substr() instead of .=
- Apache->seqno will no longer dig into scoreboard info for rec.my_access_count the seqno method was originally introduced for CGI.pm, which now uses $r->register_cleanup instead. It was never documented in Apache.pm, does anyone actually use Apache->seqno?
- perl_section() will call perl_startup() if Perl's not running already, as suggested by Rob Hartill
- included t/conf/httpd.conf.pl for testing <Perl>, which can replace t/conf/httpd.conf if you've configured with PERL_SECTIONS=1
- removed undocumented Apache::Registry->push_cleanup method
- various documentation updates
- document END blocks behavior
- added "Additional memory tips" section to mod_perl.pod
- added mod_perl_traps document
- Apache.pm docs patch from Gisle Aas
- cgi_to_mod_perl.pod suggestions from Ben Laurie
- other stuff here-n-there
- applied patch from Ulrich Pfeifer so Makefile.PL does not eat args for MakeMaker, e.g. PREFIX=~
- mod_perl now requires Perl version 5.004 or higher
- hookup STDERR to error_log first chance we get (first Perl*Handler that's called)
- $r->warn and $r->log_error will now join @_ and log one string instead of calling log_error foreach @_, suggested by Joel Wagner
- PerlScript may now be relative to ServerRoot
- remove UNIVERSAL::AUTOLOAD from Apache::Debug (more trouble than help!)
- make sent_header variable per-directory instead of global
- added $r->bytes_sent method suggested by Maurice Aubrey along with code from Nathan Torkington to make sure we get it right as mod_log_common does
- added fix to Apache::Include from Randal Schwartz so $r->uri is properly reset
- SetEnv PERL5LIB will now work on a per-directory basis thanks to spot by Vivek Khera
- if PERL_SSI=1 only do `perl -MExtUtils::Embed -e ccopts` once instead of for every .c file! nudge from Rob.
- applied Makefile.PL patch from Rob Hartill to prompt for most recently modified apache*/src directories first
- now suspend all END blocks encountered during server startup and run them during server shutdown aka child_exit (need 1.3b1+)
- now execute END blocks of PerlHandler (Apache::Registry) scripts at the expected time
- make sure CGI.pm version 2.36 or higher is being used
- make sure GATEWAY_INTERFACE is not cleared from %ENV so Apache::DBI/ApacheAuthenDBI work together, thanks to spot by John Groenveld
- some source re-org: split stuff into perl_util.c and perlio.c, rename config.c -> perl_config.c, various cleanups
- the constants.t test is now run under httpd with t/net/constants.pl
- Apache::Constants not longer defines subs at startup. we now use a C AUTOLOAD which creates newSUBs when needed, without eval {} and without "prototype mismatch" errors. This shrunk my httpd image size by ~50K
- according to Joel Wagner, Solaris's tar did not like the trailing / on the Apache/ argument to the tar_Apache target in Makefile. gone now.
- thanks to help from Vern Hart, Apache::Registry will now include $r->server->server_name as part of the uri->perl package translation if $r->server->is_virtual
- $0 is now set to $r->filename thanks to spot by Dylan Tynan
- added auth.t test to the suite
- moved constants/export.t to net/constants.t
- $>, $<, $) and $( are now properly initialized, thanks to bug spot by James Freeman
- applied Constants.{pm,xs} patch from Gisle Aas, adding some new constants from httpd.h, :methods import tag and some cleanups
- applied Makefile.PL patch from Andreas Koenig adding verbosity if there's a problem with t/report
- PerlNewSendHeader functionality has replaced PerlSendHeader's the `PerlNewSendHeader' directive is gone, replace with `PerlSendHeader'
- fixed Apache::exit so it no longer calls C-level exit (unless exit code == -2), it now just terminates the perl callback, without producing an "Internal Server Error" therefor, we complete _all_ post-handler request phases and no longer dump core, as some have seen under certain conditions. the test suite nows tests calling exit()
- applied patch from Brian Millett to Makefile, so SSL_CFLAGS are used with Ben-SSL
Documentation
using LWP::Simple and Benchmark.pm to benchmark mod_perl
benchmark mod_perl vs. CGI with File::CounterFile
First steps needed to use mod_perl as a CGI replacement
Embed a Perl interpreter in the Apache HTTP server
common/known mod_perl traps
Modules
Perl interface to the Apache server API
Constants defined in httpd.h
Utilities for debugging embedded perl code
Utilities for mod_perl/mod_include integration
OPT_* defines from httpd_core.h
Run unaltered CGI scrips under mod_perl
Reload %INC files when updated on disk
Embedded interpreter status information
Install Apache mod_perl and related modules
Provides
in lib/Apache/Registry.pm