mod_perl brings together the full power of the Perl programming language
and the Apache HTTP server. You can use Perl to manage Apache, respond to
requests for web pages and much more.
mod_perl gives you a persistent Perl interpreter embedded in your web
server. This lets you avoid the overhead of starting an external interpreter
and avoids the penalty of Perl start-up time, giving you super-fast
dynamic content.
As you'd expect from the Perl community, there are hundreds of modules
written for mod_perl, everything from persistent database connections, to
templating sytems, to complete XML content delivery systems. Web sites like
Slashdot and Wired Magazine use mod_perl.
Simple config:
LoadModule perl_module libexec/apache24/mod_perl.so
#PerlModule Apache::compat
# your config comes here
For a more detailed version (including more options) refer to:
docs/user/intro/start_fast.pod
or online:
http://perl.apache.org/docs/2.0/user/intro/start_fast.html
The module can be enabled in
etc/apache24/modules.d/260_mod_perl.conf
www/mod_perl2: fix build with clang 19 on i386
Clang 19 has become more strict about incompatible function pointer
types, which results in an error building mod_perl2 on i386:
modperl_common_util.c:57:53: error: incompatible function pointer types
initializing 'int (*)(PerlInterpreter *, SV *, MAGIC *, SV *, const char *,
I32)' (aka 'int (*)(struct interpreter *, struct sv *, struct magic *, struct sv
*, const char *, long)') with an expression of type 'int (PerlInterpreter *, SV
*, MAGIC *, SV *, const char *, int)' (aka 'int (struct interpreter *, struct sv
*, struct magic *, struct sv *, const char *, int)')
[-Wincompatible-function-pointer-types]
57 |
modperl_table_magic_copy};
|
^~~~~~~~~~~~~~~~~~~~~~~~
Perl uses the type `I32` for the last parameter, which is apparently
`long` on i386. So use that instead.
PR: 281594
MFH: 2024Q3
(cherry picked from commit 99f25aaa64395af55a872fc6cf77127f5f0e4997)