The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.07_03

  • removed "[notice] mod_perl restarted" message since it doesn't go to the error_log as it should, spotted by Vivek Khera and Paul Phillips
  • fixed corrupted $ENV{TZ} spotted by Michael Parker
  • cut out 'make test' error_log noise, anything there now should only be an error or a non-error [notice]
  • make Apache::Resource simpler to configure, to use w/ all defaults (1.3bx + PerlChildInitHandler required): PerlSetEnv PERL_RLIMIT_DEFAULTS On PerlModule Apache::Resource
  • Makefile.PL will now: mv "t/conf/httpd.conf", "t/conf/httpd.conf.old" so httpd.conf is re-generated when Makefile.PL is re-run
  • added new module Apache::src for finding it and picking out bits-n-pieces
  • get rid of some <Perl> section warnings with help from Doug Bagley
  • improved register_cleanup tests
  • applied $r->register_cleanup patch from Doug Bagley to properly call MP_RCLEANUP_off after cleanups are run
  • perl Makefile.PL can now accept ADD_MODULE, Makefile.PL will (s/,/ /g) and uncomment the list of modules from src/Configuration e.g.: ADD_MODULE=unique_id,proxy,info
  • perl Makefile.PL can now accept PERL_EXTRA_CFLAGS, Makefile.PL will (s/,/ /g) which are added to EXTRA_CFLAGS e.g.: PERL_EXTRA_CFLAGS=-DFOO=1,-DBAR=2
  • if the file `makepl_args' is present in . or .. it will be read into @ARGV, e.g. might contain EVERYTHING=1 DO_HTTPD=1
  • fixes for 1.3b4-dev compat
  • get rid of AuthName space in generated .htaccess file for internal/hooks test
  • if a PerlModule defines something in %Apache::ReadConfig <Perl> sections are run without need to actually have <Perl></Perl> in httpd.conf, i.e. httpd.conf could be nothing more than: PerlModule Apache::httpd_conf whilst experimental, enable by setting the envrionment variable PERL_SECTIONS_SELF_BOOT to something true
  • experimental feature, modules can 'exit|die AUTH_REQUIRED;' or with any HTTP error code and that response is sent rather than SERVER_ERROR to test enable by setting $Apache::ERRSV_CAN_BE_HTTP = 1
  • take CGI.pm version check out of Apache::Registry, now that we require 5.004+, they'll have at least 2.36
  • get rid of "Use of uninitialized value at -e line 65535" warning caused by perl_run_rgy_endav() spotted by Doug Bagley
  • if there is an error inside <Perl>, filename and line number are now displayed in the error message, e.g. syntax error at t/conf/httpd.conf line 25 instead of syntax error at (eval 1) line 2
  • Apache::RegistryLoader->handler will now strip leading '/' when $uri is server_root_relative and no $filename is present
  • Apache::Status menu item "Perl Section Configuration" (only if $Apache::ReadConfig is true)
  • added Apache::Status menu item "Enabled mod_perl Hooks"
  • added mod_perl.pm functions hook() and hooks()
  • go back to internal <Perl> sections package name ApacheReadConfig
  • Apache::PerlSections stuff:
  • added handy store method for writing dump() to disk
  • fixed self-test
  • updated docs to reflect new output format
  • Apache::test stuff:
  • added run method
  • added MM_test method for Makefile.PL's to say: *MY::test = \&Apache::test::MM_test
  • some httpd_conf.pm stuff:
  • added server_url method
  • added catch_signals method to terminate httpd on __DIE__ or INT ($conf->server_start calls this by default)
  • when httpd.conf is written, set BaseDir in a BEGIN block
  • drop trailing slash from Alias'
  • fix write() method's assignment of %$self to *Apache::ReadConfig::
  • fix possible core dump when calling gv_fetchmethod()

Changes for version 1.07_02

  • fixed perl.exp thang on aix
  • added tests t/modules/httpdconf.t and t/modules/perlsections.t
  • added Apache::httpd_conf module
  • if variable $Apache::ReadConfig is true, don't undef the <Perl> section eval package %Apache::ReadConfig::
  • output of Apache::PerlSections->dump is now suitable to be eval'd
  • added Apache->httpd_conf method (just pushes into @Apache::ReadConfig::PerlConfig and requires 1.3b3+)
  • renamed package <Perl> sections are proccessed in from ApacheReadConfig to Apache::ReadConfig
  • ensure values of %Location keys, etc. in <Perl> sections are HASH refs to stop possible core dump spotted by Stuart Frew
  • fixed memory leak in $r->push_handlers() with help from Gerald Richter
  • added new items to Apache::Status: "Environment", "Perl Configuration", and "Signal Handlers"
  • when %ENV is setup, my_setenv() is now called so subprocesses will inherit
  • "top-level" PerlSetEnv variables will now be set during server startup
  • got rid of unintialized warning in Apache::Status
  • $r->custom_response will now add the `"' needed if arg is not a url or filename
  • added new Constants CONTINUE and NOT_AUTHORITATIVE as aliases for DECLINED
  • change the `PerlScript' directive name to `PerlRequire' as suggested by Dick Hardt (PerlScript will still work, but is not documented)
  • set variable $Apache::ServerStarting to 1 during perl_startup()
  • set variable $Apache::ServerReStarting to 1 during perl_restart()
  • Apache::SIG->set is now called at server startup by default
  • applied patch from Doug Bagley to stop possible infininite loop in Apache->read
  • create stacked_handlers = newHV() before modules are loaded, so PerlModule's can do things like: Apache->push_handlers(PerlChildInitHandler => sub { srand(time ^ $$); });
  • $r->args can now be modified as suggested by Joel Truher
  • remove obsolete (and broken) iedit of t/net/perl/cgi.pl thanks to Vivek Khera
  • Apache::Resource now correctly converts MB values

Changes for version 1.07_01

  • added t/internal/stacked test
  • updated the FAQ from Frank Cringle
  • added Apache::fork module which override's Perl's built-in fork() and provides a forkoption function, contributed by Michael Turner
  • can now build/run w/ 5.004_55 threaded Perl
  • added Apache::Status item for PerlScripts
  • there can now be multiple PerlScript files in *.conf and .htaccess (same behavior as PerlModule)
  • ServerRoot is now pushed into @INC at server startup
  • filename argument to log_reason is now optional, defaults to $r->uri
  • Apache::Constants cleanup:
    • @EXPORT now only holds items in :common
    • re-organized tags (adding some new ones)
    • added some documentation!
  • $r->get_remote_host can now take an optional type argument, default is still REMOTE_HOST, other valid options are Apache::Constants :remotehost
  • added new Apache::Constants tag :remotehost (for $r->get_remote_host) with new constants: REMOTE_HOST REMOTE_NAME REMOTE_NOLOOKUP REMOTE_DOUBLE_REV
  • added new Apache::Constants tag :satisfy (for $r->satisfies) with new constants: SATISFY_ALL, SATISFY_ANY, SATISFY_NOSPEC
  • added new method $r->satisfies
  • added new method $r->some_auth_required
  • `METHODS' Apache::Constant added to import tag :methods
  • perl_stdout2client() will now set $| instead of perl_handler(), so thanks to Salvador Ortiz Garcia for the tip
  • PerlSetEnv will now call my_setenv() underneath thanks to Tim Bunce for the tip
  • fix mod_perl_traps.pod typo so it can install, spotted by Brian Tiemann

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
accessing the Apache API via mod_perl ($Date: 1997/12/22 08:43:56 $)
running CGI scripts under mod_perl ($Date: 1997/12/22 08:43:56 $)
frequently asked questions about mod_perl ($Date: 1997/12/22 08:43:56 $)
Embed a Perl interpreter in the Apache HTTP server
common/known mod_perl traps
mod_perl performance tuning

Modules

Perl interface to the Apache server API
Constants defined in apache header files
Utilities for debugging embedded perl code
Utilities for mod_perl/mod_include integration
OPT_* defines from httpd_core.h
Utilities for work with <Perl> sections
Run unaltered CGI scrips under mod_perl
Compile Apache::Registry scripts at server startup
Limit resources used by httpd children
Override apache signal handlers with Perl's
Reload %INC files when updated on disk
Embedded interpreter status information
Override Perl's built-in fork()
Generate an httpd.conf file
Install Apache mod_perl and related modules

Provides

in lib/Apache/FakeRequest.pm
in lib/Apache/httpd_conf.pm
in lib/Apache/src.pm
in lib/Apache/test.pm
in lib/Apache/Registry.pm
in lib/mod_perl.pm