- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我所有的 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/
我是一名优秀的程序员,十分优秀!