PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/sbin:/opt/kde/bin:/home/m
yhsu/bin:/usr/X11R6/bin:/usr/sbin:/opt/kde/bin:/usr/X11R6/bin:/usr/sbin:/opt/kd
e/bin
REMOTE_ADDR=127.0.0.1
REMOTE_PORT=1024
SCRIPT_FILENAME=/usr/local/www/fcgi-bin/echo.fcg
SERVER_ADMIN=myhsu@localhost.localdomain
SERVER_NAME=localhost.localdomain
SERVER_PORT=80
SERVER_SIGNATURE=
Apache/1.3.6Serveratlocalhost.localdomainPort80
SERVER_SOFTWARE=Apache/1.3.6(Unix)mod_fastcgi/2.2.2
UNIQUE_ID=N1ptln8AAAEAAAPdDRkGATEWAY_INTERFACE=
CGI/1.1
SERVER_PROTOCOL=HTTP/1.0REQUEST_METHOD=GETQUERY_STRING=
REQUEST_URI=/fcgi-bin/echo.fcgSCRIPT_NAME=/fcgi-bin/echo.fcg
Initialenvironment:
请注意在以上程序所显示的 Request number 和 Process ID 这两个变量,当我们继续重新加载这支程序时,Request number 会一直累加而 Process ID 的值都不会改变。这表示这支程序在第一次激活之后就一直执行着没有结束,而且在每次联机请求中所参照到的变量空间是相同的 (所以 Request number 会不断加一)。
到此为止,我们已经成功建立起一个可供发展 FastCGI 应用程序的环境及执行 FastCGI 应用程序的网站执行平台。
2.5 安装 FCGI 模块 for Perl
如果要使用 Perl 来撰写 FastCGI 的程序,必须安装 FCGI.pm 这个模块,安装的方法如下:
1. 下载 FCGI-0.45.tar.gz 并且解开
$ gunzip -c FCGI-0.45.tar.gz | tar xvf -
2. 编译及安装
$ perl Makefile.PL
$ make
$ make install
3. 测试
$ cp echo.fpl /usr/local/www/fcgi-bin
$ lynx http://localhost/fcgi-bin/echo.fpl
如果顺利的话,应该会看到如下的结果:
FastCGI echo (Perl)
Request number 1
No data from standard input.
Request environment:
DOCUMENT_ROOT=/usr/local/apache/htdocs
FCGI_ROLE=RESPONDER
GATEWAY_INTERFACE=CGI/1.1
HTTP_ACCEPT=text/html, text/plain, application/applefile, application/x-metamai
l-patch, sun-deskset-message, mail-file, default, postscript-file, audio-file,
x-sun-attachment, text/enriched, text/richtext, application/andrew-inset, x-be2
, application/postscript, message/external-body, message/partial, application/p
gp, application/pgp, video/mpeg, video/*, image/*, audio/*, audio/mod, text/sgm
l, video/mpeg, image/jpeg, image/tiff, image/x-rgb, image/png, image/x-xbitmap,