gpt4 book ai didi

linux - Perl:带参数执行时为 "No such file or directory"

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:57:20 26 4
gpt4 key购买 nike

我所有的 perl 程序在网站的 cgi-bin 中执行时突然产生 500 个错误。他们上周工作得很好。

当从命令行执行时 “perl program.pl” 工作正常。但是,当使用参数执行任何程序时,例如 "perl program.pl?param1=xxxx" 我得到 "No such file or directory"

看起来好像 Perl 或系统正在将程序和参数视为文件名,而不是解析 '?' 之前的部分。我什么都没有改变,但本周我确实遇到了一次崩溃,这可能以某种方式扰乱了 perl。但我不知道去哪里找什么。

Perl 在 Debian Jessie 的 ISPConfig 设置下运行。 PHP 工作正常。文件权限没问题(否则我将无法执行裸程序)。

最佳答案

However when any program is executed with paremeters eg "perl program.pl?param1=xxxx" I get "No such file or directory".

如你所愿,一如既往。

perl 用于执行 Perl 脚本。因此,需要为其提供 Perl 脚本的路径。它没有理由接受 URL。传递给 Perl 脚本的参数可以作为附加参数传递给 perl

$ cat >script.pl
print "Received ".( 0+@ARGV )." arguments.\n";
print "$_: $ARGV[$_]\n" for 0..$#ARGV;
^D

$ perl script.pl abc def
Received 2 arguments.
0: abc
1: def

也许您正在尝试将 Perl 脚本作为 CGI 脚本来执行。这将需要在启动 Perl 时实际遵守 CGI 协议(protocol),而您没有这样做。最常见的做法是通过网络服务器启动它,网络服务器是 CGI 程序的预期父级。

All my perl programs have suddenly produced 500 errors

首先要做的是检查网络服务器的错误日志,看看是什么错误导致网络服务器返回错误。

关于linux - Perl:带参数执行时为 "No such file or directory",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31595909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com