perl - 为什么我的 Perl CGI 脚本会出现 500 内部服务器错误?

标签 perl cgi cpanel

我使用的是 perl 5.10.1,perl 的路径是 /usr/bin/perl

我已将文件更改为 755,但收到内部服务器错误:

#!/usr/bin/perl
use strict;

print "Content-type: text/plain\n\n";
print "huh";

代码很简单,我不知道是什么原因造成的。我还运行一个用 Perl 编码的论坛软件,它工作正常并且使用相同的路径。

编辑:感谢大家的帮助,我创建了另一个文件夹并在其中添加了一个 cgi-bin 并尝试了该脚本,它有效。我仍然不知道为什么它在第一个文件夹中不起作用,一个 friend 在第一个文件夹中编辑了我的 .htaccess 文件,这可能是问题所在。

最佳答案

请注意,正确的拼写是 Content-Type .

缓冲可能有问题(输出量很小,末尾没有换行符等......)这让我很怀疑。这是我会尝试的最小脚本:

#!/usr/bin/perl

use strict;
use CGI qw(:standard);

local $| = 1;

print header('text/plain'), "huh\n";

您是否将文件从 Windows PC FTP 到 Unix 系统?如果您以二进制模式传输文件,shebang 行将不正确。

例如:

$ unix2dos t.pl
unix2dos: converting file t.pl to DOS format ...
$ xxd t.pl
0000000: 2321 2f75 7372 2f62 696e 2f70 6572 6c0d  #!/usr/bin/perl.
0000010: 0a0d 0a70 7269 6e74 2022 4041 5247 565c  ...print "@ARGV\
0000020: 6e22 3b0d 0a                             n";..
$ ./t.pl hello world
zsh: ./t.pl: bad interpreter: /usr/bin/perl^M: no such file or directory

关于perl - 为什么我的 Perl CGI 脚本会出现 500 内部服务器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22700653/

相关文章:

perl - 如何重构使用 Template Toolkit 和 DBI 的 Perl 代码以利用 FastCGI?

css 未在 perl cgi 脚本中应用

php - PhalconPHP 数据库事务在服务器上失败

c - 我正在用 C 搜索 cgi 库来构建一个安静的网络服务

cpanel - mysqldump后的sql文件在哪里可以找到

php - 在服务器上启用 PDO,还是不使用 Laravel?

perl - 如何使用我自己编译的 Perl 中供应商打包的模块?

Perl IO::Socket/IO::Select - 从 "ready-to-read"套接字读取

perl - 如何使用 LWP 显式设置 cookie

php - 不断运行python脚本