CGI脚本没有通过Wamp响应

时间:2013-08-22 01:54:11

标签: perl cgi

我已经正确配置了cgi脚本的wamp,但它没有运行以下代码并在执行时出现以下服务器错误。

 Bad file descriptor: don't know how to spawn child process: 
   C:/wamp/www/New folder/hello.cgi, referer: http://localhost/New%20folder/

我的主动perl安装在C:/ wamp / www / perl
上 这是代码:

 #!C:\wamp\bin\perl.exe -w
 print "Hello World.\n";

1 个答案:

答案 0 :(得分:1)

Windows不关注#!行。您需要确保文件扩展名(在您的情况下为.cgi或更常见的.pl)与注册表中的perl可执行文件相关联。

<小时/> 更多信息:

运行perl程序/脚本有两种方法,一种是直接使用主程序/脚本的文件名作为参数执行perl:

C:\wamp\bin\perl.exe mydir\myprog.pl

不要永远在您的网络服务器的cgi目录中执行此操作。

执行程序的另一种方法是命名要运行的文件,并依赖于操作系统的内置方法来找到运行它的正确程序。

mydir\myprog.pl

在* nix OS上,分析文件的前两个字节以确定如何处理它,如果这两个字节相当于ASCII字符串#!,那么该文件被视为文本, &安培;读取第一行的其余部分,期望它将包含文件解释器的路径。

在Windows操作系统上,文件扩展名用于在注册表中搜索与该文件类型关联的解释器的路径。