使得pws和iis支持cgi(精华区没有,以前有人问过,以便查询) - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- 使得pws和iis支持cgi(精华区没有,以前有人问过,以便查询) (http://www.webasp.net/article/3/2965.htm) |
| -- 作者:未知 -- 发布日期: 2003-07-11 |
| 一、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.有关出现错误问题的解决(同上) |
| webasp.net |