【发布时间】:2017-01-29 01:38:52
【问题描述】:
最近我安装了 XAMPP (Apache) 服务器,用于在 Windows 机器上运行 CGI 脚本。如您所知,XAMPP 有安装 PERL 的选项,但我没有选择它,我想使用 Cygwin 的 PERL 来执行这些。
问题是当我尝试运行基本 CGI 脚本时,我收到以下错误
[Tue Sep 20 19:51:10.473825 2016] [win32:error] [pid 12420:tid 1848] [client ::1:57051] AH02102: C:/xampp/cgi-bin/perltest.cgi is not executable; ensure interpreted scripts have "#!" or "'!" first line`enter code here`
[Tue Sep 20 19:51:10.473825 2016] [cgi:error] [pid 12420:tid 1848] (9)Bad file descriptor: [client ::1:57051] AH01222: don't know how to spawn child process: C:/xampp/cgi-bin/perltest.cgi
意味着 Cygwin Perl 路径无效。但是,我确实改变了路径,并且现在仍然可以使用 shebang。这是我正在使用的:
#!C:\cygwin64\bin\perl.exe
感谢任何帮助
【问题讨论】:
-
您使用的是哪个版本的 cygwin 的 PERL?您是否使用 cygwin 设置安装了 PERL 扩展?检查您的 $_PATH 环境变量以查看是否包含正确的 PERL 路径
-
我正在使用 (v5.22.1)...我不打算安装任何扩展..如何检查 $_Path 环境变量..任何帮助..
-
啊,我的错……它现在解决了……在粘贴或更改 shebang 时……它移到了第二行并使它无法工作…… .它现在工作....忽略它...感谢您的帮助
-
shebang 行通常被解释器忽略,因为“#”字符在许多脚本语言中是注释标记;一些不使用井号开始 cmets 的语言解释器仍然可能会忽略 shebang 行以识别其用途