要在自己的平台上调试PERL CGI程序,以中文Win98为例,需要做以下几项工作:
1. 安装、设置TCP/IP协议
2. 安装、设置Web服务器
3. 安装PERL for Win32
详细介绍各个步骤:
一、安装、设置TCP/IP协议
如果您已经可以通过拔号正确连上Internet,这说明你的TCP/IP已经正确安装,不过你还得耐心看下去哟!进入“控制面板”,双击“网络”图标,出现“网络”的对话框,这里已经安装了TCP/IP。假设TCP/IP不存在,要添加它,只需单击“添加”按钮,选择“协议” 后单击“添加”按钮,请选择“Microsoft”-“TCP/IP”,按“确定”,系统提示要Win98的磁盘,然后会重新启动,照作就是了。别急,这一步还没结束,还要对TCP/IP进行一些设置。选择“TCP/IP”,单击“属性”。在“DNS配置”中,选择“禁用DNS”;在“IP地址”选项中选择“指定IP地址”,在“IP地址”中输入任意的合法IP地址,如“10.10.10.10”。这样,在安装完Web服务后,你就可以在浏览器中用“http://10.10.10.10”这个地址进行本地浏览了!需要说明的是,如果选择了“自动获得IP地址”,那么,你就只能用“http://你的机器名”了。如何设置机器名呢?单击“标识”,这里的“hh”就是机器名了,特别强调一点,机器名勿用中文,否则不能被正确识别和显示,千万记住哦!
也许你会问,刚才选用“禁用DNS”,和“指定IP地址”,那么在实际拔号上网时不是会出问题吗?是的,其实要解决这个问题也非常简单,你只要在“我的电脑”中双击“拔号网络”,选择你所建立的连接,右键打开“属性”对话框,选择“服务器类型”,点击“TCP/IP设置”,在这里,你可以选择“已分配IP地址的服务器”,在“指定名称服务器的地址”中填入你的ISP提供的“主控DNS”和“辅助DNS”的地址即可,这里我填的是本地163的DNS的地址。
二、安装、设置Web服务器
1、中文Win98光盘探宝
要安装Web服务器,可是Web服务器程序哪里来呢?看看Win98光盘里有些什么,这儿有个“add-ons”目录,进去看看,又有个“pws”,其实宝藏已经找到了,就是这个“pws”,它是Personal Web Server的缩写,就是“个人Web服务器” 我们就用它安装Web服务器吧(其实Web服务器程序有很多,这里用它比较方便些。)!
2、安装Web服务器
在安装这个PWS前,系统必须要有IE4.0以上版本的浏览器,中文Win98已经集成了
IE4.0,这一步可以省略了。进入中文Win98光盘的“\add-ons\pws”目录,双击“setup.exe”,选择“下一步”,用“典型”安装PWS至默认目录,当然你可以用“自定义”安装选择你需要的组件,安装完成后,它会在C盘根目录下建一个名叫“inetpub”,的目录,这个文件夹很重要,以后的操作全都在这里了,系统提示重新启动,当再次重新启动后,你会发现状态栏多了一个小图标,它就是“个人Web管理器”。咦,我重新启动时,怎么会自动弹出拔号对话框呢?
3、设置Web服务器
首先,解决上面遇到的问题。当你安装完PWS后,它的一些设置已被写入注册表,在每次启动Win98时会自动运行PWS,它会自动用浏览器检测网络服务器,而你IE的连接调用的却是拔号网络,所以才会弹出拔号对话框。
在桌面上右键单击IE,打开“属性”对话框,选择“连接”,选择“通过局域网连接到Internet”,这样问题就解决了,同时这也是能用浏览器浏览本地信息的重要一个步骤。
双击“PWS”系统图标,点击“启动”按钮,Web发布已经启动,赶快打开IE,在地址栏输入“http://hh”,如果你能打开这个地址的话,恭喜,你的Web服务器已经安装成功了。
单击“高级”,打开“高级选项”设置框,选中“允许浏览目录”,双击“虚拟目录”下的“cgi-bin”目录(如果没有这个目录,你可以事先在“c:\inetpub”目录下建立一个“cgi-bin”子目录,然后单击一下“< Home>”,选择“添加”,在目录里输入“c:\inetpub\cgi-bin”,在别名中输入“cgi-bin”,这样就会在“虚拟目录” “< Home>”下建立一个“cgi-bin”目录),弹出“编辑目录”对话框,你可以看到,它的真实路径为“C:\Inetpub\cgi-bin”,请把它设为可“执行”。这样,你把要调试的CGI程式拷贝到“C:\Inetpub\cgi-bin”下,你就可以用“http://hh/cig-bin/程式名.cig”测试你的CGI 程序了。什么,你的CGI程序现在不能被正确运行?差点忘了一件大事,那就是,你还要安装一个PERL CGI解释程序──PERL for Win32 !
三、 安装PERL for Win32
1、下载PERL For Win32程序:Pw32i316.exe,1.47M。
它只是PERL For Win32的一个版本,你可以到“http://www.activestate.com”去下载,那儿有很多版本的PERL For Win32,你也可以到我的主页上去下载,我的主页地址为:“http://comenet.yeah.net”。
2、安装PERL For Win32,这个操作就比较简单了。
执行Pw32i316.exe,它是个自解压的压缩文件,解压至“c:\perl\”后自动安装,系统会分别提问:
(1).Do you wish to proceed?
输入“Y ”
它会在注册表中加入有关PERL的相关路径信息。
(2).Modify search path?
输入“Y ”
它会在Autoexec.bat中设定PERL的路径。重新启动机器后,根据我的实践,应该是可以运行CGI程序了。
3、编一个简单的PERL CGI程序试一下。
用记事本新建一个文件,起名为test.cgi(也可命名为test.pl),然后把下面的代码Copy进去,再将它保存至“c:\inetpub\cgi-bin”目录中。下面例子中,“#!/usr/bin/perl”对于本例并不必要,因为安装Perl for Win32时系统已将Perl解释器加入关联,但在实际使用中,如果此程序在UNIX主机上运行,这句话指定Perl解释器位置,是必不可少的。
#!/usr/bin/perl
print "Content-type:text/html\n\n";
#上面这句话是指定服务器与浏览器之间的协议,这个例子指定输出数据类型
#为text/html,是个HTML文件
print "< html>";
print "< head>";
print "< title>this is a test< /title>";
print "< /head>";
print "< body>< p>OK,成功了!< /body>";
print "< /html>";
exit; #退出程序
打开浏览器,输入“http://hh/cig-bin/test.cgi”,成功了!。
不要告诉我你没成功哦,如果真是这样,很不幸,你要修改一下Win98的注册表了,其实这也没什么大不了的,就两句话。
方法是运行注册表编辑器“regedit”,依次打开:
HKEY_LOCAL_MACHINE\System\CurrentContrlSet \Services\W3SVC\Parameters\Script Map\,加入“.cgi‘C:\PERL\BIN\perl.exe %s %s’”和“.pl‘C:\PERL\BIN\perl.exe %s %s’”。请注意,“C:\PERL\BIN\perl.exe”为安装Pw32i316.exe后,perl.exe的路径。退出注册表编辑,重新启动计算机,进入“c:\inetpub\cgi-bin”目录,从中选取刚才建立的“test.cgi”文件,双击它,这时系统会出现一个列表窗口,询问使用什么程序来打开这种文件,在文件列表中找到“perl(如果找不到可以在“其他”项中按路径来指定,也就是“c:\perl\bin\perl.exe”),并选定“始终使用该软件打开这种类型的文件”项,单击“确定”即可。
说明一点,在上例浏览器中“OK,成功了!”前面会有一行“Content-type:text/html”,不要紧,当这个CGI程序在其它操作系统上执行时,这句话会消失的!另外,Win98/95系统不支持PERL的flock语句,遇到时请你用“#”把它注释掉,实际使用中再恢复过来。
四、最后补充
经过上述一番操作,你会发现,要拔号上Internet已经上不去了。不要着急,你只要把IE浏览器属性中的“连接”改为“使用调制解调器连接到Internet”,你又可以上网冲浪了!至此,大功告成!至于中文Win95,操作类似。
现在,你可以很从容地在本地调试自己编写的PERL CGI程式,感觉真是棒极了