WINDOWS 95/98 操作系统:
1. 安装 Perl 解释器?
Perl 是一种解释执行的语言,所以,要单机运行调试 Perl CGI ,必须先安装 Perl 解释器。
首先下载 Active Perl 5.22e(本站的工具软件栏目中有下载),一般文件名是 APi5XXe.exe,其中 XX 是版本号。然后运行此程序,默认是安装在 C:\PERL 下,不过为了方便,请最好安装到 C:\USR 目录下,这样写 Perl 解释器的路径就可以直接用 #!/usr/bin/perl 了,可以保持单机环境和网络环境路径一致。
2. 安装 WEB 服务器?
有些网友认为安装了 Perl 解释器后就可通过双击文件运行,这是错误的,因为 Perl 是脚本文件,它只能在浏览器内调用,所以必须安装 WEB 服务器软件。现在 WINDOWS 95/98 下常用的 WEB 服务器有 omniHTTPD 2.06,Apache 1.3.12,Personal Web Server(PWS),下面我们就以这三种 WEB 服务器为例,来看看 Perl 环境的架设:
a) omniHTTPD 2.06
安装好后,按照下面三步来修改注册表:
① 运行 RegEdit,搜寻: HKEY_LOCAL_MACHINE\System\Currentcontrlset\Services\W3svcParameters\ScriptMap\ 键名
② 然后增加键名:".cgi",键值:"C:\USR\BIN\perl.exe %s %s" 和键名:".pl",键值:"C:\USR\BIN\perl.exe %s %s"
③ 存盘即可。
最后,把主页文件拷到 httpd/htdocs 目录,Perl 程序拷到 httpd/cgi-bin 目录即可。
b) Personal Web Server(PWS)
同 a) 一样修改注册表,然后在 PWS 中把 c:/inetpub/wwwroot/cgi-bin 目录设置为可执行即可。
这种服务器有个缺点,它不支持那些使用了 Unix 进程和函数的 Perl 程序,但也有一个好处,这样的系统同时能支持 ASP。
c) Apache 1.3.12
安装时请注意,安装路径最好装在硬盘根目录 \APACHE 下,不要装在默认的 Program Files\APACHE 下,这样设定绝对路径方便!
装好后,进入 APACHE 下的 CONF 目录,用文本编辑器来编辑 HTTPD.CONF 文件。
① 寻找 ServerName,把前面的 # 号去掉,后面改为你的域名(单机可用 localhost)。
② 寻找 #ScriptAlias /cgi-bin/ "C:/Apache/cgi-bin/",把前面的 # 号去掉。
③ 寻找 AddHandler cgi-script .cgi ,在后面加上一个空格和 .pl。
④ 寻找 ,下面有一句 AllowOverride, 把后面的参数去掉,改为 All。
⑤ 存盘即可。
最后,把主页文件拷到 apache/htdocs 目录,Perl 程序拷到 apache/cgi-bin 目录即可。
虽然此种 WEB 服务器最难安装,但它却是支持 Perl 功能最全最完善的,所以本人强烈推荐大家使用此服务器。
||||||WINDOWS NT/2000 操作系统:
1. 安装 Perl 解释器?
方法同上面的 Perl 解释器的安装。
2. 修改注册表
方法同上面的步骤 2 下的 a)中的修改方法。
3. 修改 IIS WEB 服务器
NT/2000 中自带了 IIS WEB 服务器,而且 CGI-BIN 的目录一般已经自动设置好了,在 c:\inetpub\wwwroot\cgi-bin 下,如果发现设置不对的话,可以按照如下办法重新设置:
① 启动 Internet Service Manager。
② 选择 WWW 信息发布服务,双击或使用鼠标右键选择 Service Properties。
③ 在 WWW 信息发布服务属性(Publishing Service Properties)窗口中选择 Directories 子窗口。
④ 用鼠标点击 Add 按钮,打开目录属性(Directory Properties)对话框。
⑤ 在目录属性对话框的第一栏 Directory 用键盘输入需建立目录映射的目录路径(c:\inetpub\wwwroot\cgi-bin),选中 Visual Directory,在别名(alias)中键入cgi-bin,并选中 Access 中的 Execute 复选框,最后确定即可。
4. 特别注意事项
如果你的 NT/2000 采用了 NTFS 格式的话,请注意设置好相应目录的读写属性,一般是在相应目录上添加 Everyone 用户,并设置其可写即可。
这种服务器有个缺点,它不支持那些使用了 Unix 进程和函数的 Perl 程序,但也有一个好处,这样的系统同时能支持 ASP。
测试系统是否安装正确:
输入以下简单程序(请注意第一行,本人假设你的 Perl 解释器是安装在 /usr 下的,如果你安装的是 /perl 下,请把第一行改为 #!/perl/bin/perl),然后存盘为 test.cgi,放在你的 CGI-BIN 目录下。
#!/usr/bin/perl
print "Content-type:text/html\n\n";
print "http://skyz.yesky.net/";
exit;
#--------
运行 WEB 服务器,然后运行浏览器,输入 http://localhost/cgi-bin/test.cgi ,如果浏览器上出现 http://skyz.yesky.net / 则表示你的 Perl 环境已经成功架设好了。
最后,要注意一点,以上单机调试环境均不支持 Unix 下的 flock() 函数,所以如果你的程序运行出现白页的话,请把该程序的所有 flock() 函数都去掉即可。