在下管理服务器和使用ASP、CGI、PHP程序已经有几个月,我发现有好多的网友为了调试ASP、CGI、PHP+MySql程序而废尽心思,本机上不能调试,只好上网调试,结束冤枉了不少的人民币,我当初也是如此。现在我把自己的经验写出来贡献给大家。
本文主要针对PWS和IIS5.0进行说明,ASP程序在PWS和IIS5.0的环境下都支持,对于Uinx下的APACHE服务器软件我没有用过,在此不作讨论。

 

一、PWS下配置ActivePerl,使PWS支持CGI程序。

1.在Windows98下安装PWS4.0(Microsoft Personal Web Server 4.0 在Windows98系统光盘的add-ons目录下)。

2.下载APi522e.exe(Windows98下建议用这个),下载地址为:

http://www.cgiunion.net/perlsoft/APi522e.exe 、 http://www.activestate.com/ActivePerl/download/Api522e.exe 或者是 http://www.fykx.net/download/cgi/api522e.exe

3.安装APi522e.exe,建议安装在C:\USR目录下,因为每个CGI程序文件第一行都要申明CGI解释程序的路径(#!/usr/bin/perl)。

<IMG border=0 SRC=http://www.y666.net/rj1/00000001/001.jpg width="476" height="354">

4.运行regedit (需要重新启动计算机才能生效)
找到: HKEY_LOCAL_MACHINE\System\Currentcontrlset
\Services\W3svc\Parameters\ScriptMap\ 目录
增加以下键值:
键名: ".cgi" 键值: "C:\USR\BIN\perl.exe %s %s"
键名: ".pl" 键值: "C:\USR\BIN\perl.exe %s %s"

<IMG border=0 SRC=http://www.y666.net/rj1/00000001/002.jpg width="400" height="278">

5.为PWS添加虚拟目录(如下图),目录别名为:CGI-BIN,把访问属性设为:执行,目录位置为本地硬盘的任何目录(CGI程序就存放在这个目录中)。

<IMG border=0 SRC=http://www.y666.net/rj1/00000001/003.jpg width="496" height="347">

6.编写测试程序:
文件test.cgi放在CGI-BIN这个目录下,代码如下
#!/usr/bin/perl
print "Content-type:text/html\n\n";
print "<TITLE>这是我的第一个程序</TITLE>";
print "哈!哈!哈!我成功啦!!!";
在浏览器地址栏中键入http://127.0.0.1/cgi-bin/test.cgi
如果在浏览器中显示:哈!哈!哈!我成功啦!!!你就成功了。

7.有关出现错误文题的解决,以调试YuziBBS3000为例,把配置文件SETUP.CGI按要求设置好后开始运行,结果

出现如下错误:
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The

headers it did return are:

Can't locate setup.cgi in @INC (@INC contains: C:/usr/lib C:/usr/site/lib .) at

C:\Inetpub\wwwroot\cgi-bin\bbs3000\bbs.cgi line 9.

上一段的中文意思为:
“CGI 错误
指定的 CGI 应用程序因为没有返回完整的 HTTP 标题而运行不正常。它返回的标题是:”

经过分析bbs.cgi程序代码,发现程序开始部分有require "setup.cgi";这么一句,这一句是程序对setup.cgi
配置文件发出请求,这种情况在Unix系统下不会出现错误,在Win98和NT系统下必须写明绝对路径,把这一句改

为:require "C:/Inetpub/wwwroot/cgi-bin/bbs3000/setup.cgi";再也不会出现错误,其他CGI文件也是如此。


二、IIS5.0下配置ActivePerl,使IIS5.0支持CGI程序。

1.在Windows2000下添加Internet信息服务(IIS)组件。

2.下载最近的Perl解释程序ActivePerl-5.6.0.620-MSWin32-x86-multi-thread.msi,下载地址为:

ftp://www.newhua.com/ActivePerl-5.6.0.620-MSWin32-x86-multi-thread.msi 或者是
http://www.fykx.net/download/cgi/ActivePerl-5.6.0.620-MSWin32-x86-multi-thread.msi

3.安装ActivePerl-5.6.0.620-MSWin32-x86-multi-thread.msi,建议安装在C:\USR目录下,因为每个CGI程序文件第一行都要申明CGI解释程序的路径(#!/usr/bin/perl)。

4.运行regedit (需要重新启动计算机才能生效)
找到: HKEY_LOCAL_MACHINE\System\Currentcontrlset
\Services\W3svc\Parameters\ScriptMap\ 目录
增加以下键值:
键名: ".cgi" 键值: "C:\USR\BIN\perl.exe %s %s"
键名: ".pl" 键值: "C:\USR\BIN\perl.exe %s %s"

5.打开“Internet 服务管理器”,选中“默认web站点”或者其它站点,打开它的“属性”窗口。在“web站点”页下,改变“IP地址”:“全部未分配”为“(您机子的ip地址,例如:202.117.131.6)”;“TCP端口”为“80”。接着,选中“主目录”页,单击“应用程序设置”下的“配置”按钮后,在新窗口下单击“添加”按钮;在“可执行文件”中输入“C:\usr\bin\perl.exe %s %s”,在“扩展名”中输入“.cgi”,把"脚本引擎"打上勾,点击“确定”(亦可添加其他,如“.pl”等)。接着,选中“ISAPI筛选器”页,单击“添加”按钮;在“筛选器名称”中输入“cgi”,在“可执行文件”中输入“C:\usr\bin\PerlIS.dll”,点击“确”。

<IMG border=0 SRC=http://www.activeedu.net/php/vb141/pic/004.jpg>

关闭所有窗口,重启系统后,可打开IE浏览器进行测试。

6.编写测试程序(同上)

7.有关出现错误问题的解决(同上)

posted on 2009-08-05 18:18  王中胜  阅读(511)  评论(0编辑  收藏  举报