Pike modules
Pike modules are, strictly speaking, not scripts in the same
sense as the other script types. Rather, they are a way of extending
the server's functionality. Most of Challenger's functions are
implemented as Pike modules. However, since Pike modules are often a
convenient way of doing things that might otherwise have been done
with regular scripts, Pike modules belong in this overview.
Pike modules can be used to implement new RXML tags, support new
communication protocols, and numerous other things that would be
impossible or difficult with other script types. Pike modules are also
persistent entities in the server, as opposed to ordinary CGI scripts,
which are executed in a single-shot fashion, starting anew each time
they are invoked. FastCGI scripts are somewhat persistent.
From a security viewpoint, Pike modules must be treated with utmost
care. Pike modules have access to the whole server. Thus, only trusted
users should be able to write their own Pike module, and Pike modules
should only be downloaded from reputable web sites. Apart from the
security considerations, Pike modules that take a long time executing
can also cause performance degradation and other service disruptions,
especially if the server isn't running with enough threads.
Challenger is an excellent tool for developing Pike modules.
Compile time and run time error messages will be reported, with a Pike
backtrace so the problem can be pinpointed. All such error messages
will be reported on the Event Log tab and in the debug log.
They will also be reported on the web page where the error occurred,
unless the Global Variables/Show the internals variable is disabled.
|