1 package PLP::Backend::FastCGI;
7 use base 'PLP::Backend::CGI';
13 my $request = FCGI::Request();
17 $SIG{PIPE} = 'IGNORE';
18 while ($request->Accept() >= 0) {
19 $PLP::use_cache = !defined $ENV{PLP_CACHE} || $ENV{PLP_CACHE}; # before it's clean()ed
20 delete $ENV{PATH_TRANSLATED};
29 PLP::Backend::FastCGI - FastCGI interface for PLP
35 Edit the configuration file (usually F</etc/lighttpd/lighttpd.conf>)
36 to enable I<mod_fastcgi> (add/outcomment in server.modules), and add:
40 "bin-path" => "/usr/bin/perl -MPLP::Backend::FastCGI",
41 "socket" => "/tmp/fcgi-plp.socket",
47 You'll need a dispatch script (F<plp.fcgi> is included with PLP).
48 Example F</foo/bar/plp.fcgi>:
51 use PLP::Backend::FastCGI;
53 Then enable either I<mod_fcgid> (recommended) or I<mod_fastcgi>, and
54 setup F<httpd.conf> (in new installs just create F</etc/apache/conf.d/plp>) with:
56 <IfModule mod_fastcgi.c>
57 AddHandler fastcgi-script plp
58 FastCgiWrapper /foo/bar/plp.fcgi
61 <IfModule mod_fcgid.c>
62 AddHandler fcgid-script plp
63 FCGIWrapper /foo/bar/plp.fcgi .plp
68 This is usually the preferred backend, providing persistent processes
69 for speeds comparable to L<mod_perl|PLP::Backend::Apache> and
70 reliability closer to L<CGI|PLP::Backend::CGI>.
72 Servers often feature auto-adjusting number of daemons, script timeouts,
73 and occasional restarts.
75 =head2 Configuration directives
77 PLP behaviour can be configured by setting environment variables.
83 Sets caching off if false (0 or empty), on otherwise (true or undefined).
84 When caching, PLP saves your script in memory and doesn't re-read
85 and re-parse it if it hasn't changed. PLP will use more memory,
86 but will also run 50% faster.
92 Mischa POSLAWSKY <perl@shiar.org>
96 L<PLP>, L<PLP::Backend::CGI>, L<FCGI>