在下管理服务器和使用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.有关出现错误问题的解决(同上)
……