如何在Win95/98/NT上调试CGI程序

发表于:2007-07-04来源:作者:点击数: 标签:
方法一——傻瓜型 安装sambar4.3。 安装简单,无需任何设置即可使用,但对某些perl函数的支持稍差。sambar4.3是一个小型 服务器 软件,自带perl 5,支持ssi,无需安装perl for win32。安装后把cgi文件拷到/sambar/cgi-bin/目录,并把文件名改为*.pl(sambar
方法一——傻瓜型

  安装sambar4.3。

  安装简单,无需任何设置即可使用,但对某些perl函数的支持稍差。sambar4.3是一个小型服务器软件,自带perl 5,支持ssi,无需安装perl for win32。安装后把cgi文件拷到/sambar/cgi-bin/目录,并把文件名改为*.pl(sambar只执行以pl结尾的cgi脚本),主页文件拷到/sambar/docs/目录,在浏览器输入你的http://主机名或http://127.0.0.1/的域名就可调用/sambar/docs目录下主页文件,输入http://主机名/cgi-bin/*.pl就可调用/sambar/cgi-bin/目录下的cgi脚本。

  方法二——进阶型

  安装perl for win32(Activeperl 5.00518),然后安装omnihttpd 2.05,支持cgi程度较好。

  Omnihttpd也是一个微型服务器软件,同样支持perl 5,ssi,win-cgi。把主页文件拷到httpd/htdocs目录,cgi脚本拷到httpd/cgi-bin目录即可通过浏览器调用,注意:有些网友有一个误区,认为安装了perl for win32就可在windows上通过双击文件运行,这是不对的,因为是脚本文件,故只能在浏览器调用,这也是为何要装服务器软件的原因。

  方法三——能手型

  1.安装IIS4.0(win98为PWS4.0,winnt为IIS4.0)服务器;

  2.安装perl for win32(Activeperl 5.00518)。

  支持cgi程度较好,但不支持使用如wwwbbs 3.0这类用UNIX进程和函数编制的CGI程序。虚拟根目录为c:/.netpub/wwwroot/,把c:/inetpub/wwwroot/cgi-bin目录设置为可执行该种配置的不但支持cgi,另外还完全支持ASP哦!

  如果你选择了第2或第3种方案,但还不能调试cgi,则还得对注册表动一下手脚——运行regedit找到HKEY_LOCAL_MACHINE\System\Currentcontrlset\-Services\W3svc\Parameters\ScriptMap\目录,增加键名“.cgi”、键值“C:\PERL\BIN\perl.exe %s %s”,重新开机,一切OK!

  方法四——高手型

  1.安装Apache 1.3.6服务器;

  2.安装perl for win32(Activeperl 5.00518)。

  支持cgi程度:最好,不过有的Sambar可以编译的CGI,它却不能。

  注有事项

  1.装好后,在Apache下有一个CONF目录,里面有个HTTPD.CONF文件,必须要先设置好它们才能启动CGI。

  (1)寻找ServerAdmin,把后面的EMAIL改为你自已的EMAIL,这个改不改不是很重要。

  (2)寻找ServerName,把前面的#号去掉,后面改为你的域名。

  (3)寻找,往下面有一句Options,把后面的参数全去掉,加一个All,注意大小写。再往下有一句AllowOver ride,也把后面的None去掉,加一个All。

  (4)寻找,往下面第八行有一句Options,把后面的参数全去掉,加一个All,注意大小写。再往下数行有一句Allow Override,也把后面的None去掉,加一个All。

  (5)寻找#ScriptAlias /cgi-bin/ "C:/Apache/cgi-bin/",把前面的#号去掉。

  (6)寻找,下面有一句AllowOverride,把后面的参数去掉,加一个All,注意大小写。再往下有一句Options也把后面的None去掉,加一个All。

  (7)寻找AddHandler cgi-script .cgi后面加上.pl,即AddHandler cgi-script .cgi .pl。

  (8)如果增加SSI,需把下面两行前面的#号去掉:

  AddType text/html .shtml

  AddHandler server-parsed .shtml

  (9)还要注意perl脚本中的perl解释路径,应改为: #!c:/perl/bin/perl5.00518使用perl5或#!c:/perl/bin/perl(使用perl4)

  

  2.第1、2、4种方案的绝对路径均可用相对的形式表示,如: "../cgi-bin/ ",但第3种则必须用完整的硬盘路径表示,如:" C:/Inetput/wwwroot/cgi-bin/ "

原文转自:http://www.ltesting.net