精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>网络专区>>● 网站建设>>盖世神功 — 网站建设技术>>CGI>>如何调试CGI

主题:如何调试CGI
发信人: tanshuai()
整理人: eagle(1999-08-02 12:11:53), 站内信件
【 在 prowler (一个幽灵在INTERNE) 的大作中提到: 】
: 我建了个表单,如何调试?

如何在WIN95/98/NT上调试CGI程序  
方法一:(傻瓜型)  
安装sambar4.2(约占3M空间)  
安装简单,无需任何设置即可使用,但对某些perl函数的支持稍差  
sambar4.2是一个小型服务器软件,自带perl5,支持ssi,无需安装perl for win32,
安装后把cgi文件拷到/sambar/cgi-bin/目录,并把文件名改为*.pl(sambar4.2只
执行以pl结尾的cgi脚本,主页文件拷到/sambar/docs/目录,在浏览器输入你的
http://主机名或http://127.0.0.1/的域名就可调用/sambar/docs目录下主页文
件,输入http://主机名/cgi-bin/*.pl就可调用/sambar/cgi-bin/目录下的cgi脚本
 
方法2:(进阶型)  
安装perl for win32(Activeperl 5.00503) (10兆空间)然后安装 omnihttpd 
2.02(2M空间)  
支持cgi程度: 较好  
omnihttpd也是一个微型服务器软件同样支持perl5,ssi,win-cgi  
把主页文件拷到 httpd/htdocs 目录,cgi脚本拷到httpd/cgi-bin目录即可通过浏
览器调用,注意:有些网友有一个误区,认为安装了perl for win32就可在windows
上通过双击文件运行,这是不对的,因为是脚本文件,故只能在浏览器调用,这也是
为何要装服务器软件的原因.  

第三种方法:(能手型)  
1.安装IIS4.0(win98为PWS4.0,winnt为IIS4.0)服务器(约占30M空间)  
2.安装 perl for win32(Activeperl 5.00503 ) (占10M)  
支持cgi程度: 较好,但不支持使用如wwwbbs 3.0这类用UNIX进程和函数编制的CGI
程序虚拟根目录为c:/inetpub/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!!!  

第4种方法:(高手型)  
1.安装Apache 1.3.6服务器 (约3兆)  
2.安装 perl for win32(Activeperl 5.00503 ) (占10M)  
支持cgi程度: 最好,不过有的Sambar可以编译的CGI,他可能不能! 

注意事项:  
1、安装APACHE,注意:安装路径一定要装在硬盘根目录\APACHE下,
即c:\apache 或 d:\apache ...;  
不要装在Program Files下,这样设定绝对路径方便很多!  
2、装好后,在APACHE下有一个CONF目录,里面有个HTTPD.CONF文件,必须要先设
置好它们才能启动CGI。  
    (1) 寻找ServerAdmin,把后面的EMAIL改为你自已的EMAIL,这个改不改不是
        很重要。  
    (2)寻找ServerName, 把前面的#号去掉,后面改为你的域名  

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

    (4)寻找<Directory "你安装APACHE的盘符:/Apache/htdocs">,往下面第八
     行有一句Options,把后面的参数全去掉,加一个All,注意大小写呵。再
     往下数行有一句AllowOverride,也把后面的None去掉,加一个All  

   (5)寻找#ScriptAlias /cgi-bin/ "C:/Apache/cgi-bin/",把前面的#号去掉
 
   (6)寻找<Directory "C:/Apache/cgi-bin">,下面有一句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.00503 
   (使用perl5)或#!c:/perl/bin/perl (使用perl4)使用以上服务器要注意的是个
   问题:  
   第1,2,4种方案的绝对路径均可用相对的形式表示,如: "../cgi-bin/ ",但第3种
   则必须用完整的硬盘路径表示,如:" C:/Inetput/wwwroot/cgi-bin/ "    

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.191.124]

[关闭][返回]