perl - Perl 脚本抛出内部服务器错误 500 - 但脚本工作正常

标签 perl internal-server-error

我有一个通过 Ajax 调用的 perl 脚本。它只是将 3 个值写入数据库。代码工作正常(值成功写入)但我收到“内部服务器错误”抛出。错误日志显示“脚本 header 过早结束”。

应用程序没有问题 - 它按要求工作并且已经运行了几个月 - 但我在测试其他东西时通过 Firebug 注意到错误。

所以我开始从脚本中剥离 perl 以试图找到问题所在.. 并继续直到我只剩下两行.. shebang 和退出.. 我仍然得到 500 错误。直接从浏览器运行脚本会在浏览器窗口中出现 500 错误……在命令提示符下没问题——即。 apache 错误日志中没有任何内容。

服务器配置没有任何问题 - 它有数百个 perl 脚本并且已经运行多年。

最佳答案

您应该首先输出一个有效的 CGI header 。

服务器期望 CGI 脚本的第一个输出是 CGI header 。通常,这可能像 print "Content-type: text/plain\n\n"; 或 CGI.pm 及其衍生版本 print header() 一样简单。

关于perl - Perl 脚本抛出内部服务器错误 500 - 但脚本工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5117463/

相关文章:

bash - 对于另一列中列出的相同条目 ID,打印一列中具有最大值的行

python - Perl 等同于 Python 的列表理解与嵌入式 if 语句?

php - CakePHP 2.0 上的服务器内部错误 500

python - 内部服务器错误 Apache 和 WSGI(使用 Flask)

Perl 分配给 pos 会触发副本吗?

regex - Perl 正则表达式引擎错误?

perl - 使用 -n 或 -p 选项时是否可以将命令行参数传递给 @ARGV?

ruby - Heroku 内部服务器错误 - ruby​​/Sinatra/Postgresql

php - 通过 apache 并发 MySQL 请求时出现 HTTP 500(内部服务器错误)

php - Symfony - 应用程序在没有 Apache 服务器的情况下运行