【问题标题】:Internal server error with simple .cgi, what is wrong?简单 .cgi 的内部服务器错误,有什么问题?
【发布时间】:2012-02-14 08:27:49
【问题描述】:

我从事互联网编程,我们正在做 .cgi,但就我的一生而言,我根本无法运行我的 .cgi 脚本,我知道其他人可以运行它,但我的只是拒绝运行.有什么建议吗?

#!/usr/bin/env python

print "Content-type: text/html"
print
print "<html><head><title>CGI</title></head>"
print "<body>"
print "hello cgi"
print "</body>"
print "</html>"

我多次使用 chmod 755 文件,我尝试使用 #!/usr/bin/python#!usr/local/bin/python。我尝试将它放在一个名为 cgi-bin 的文件夹中,并确保它以 unix 行结尾保存,但我得到的只是内部服务器错误。我知道我有它在课堂上工作,但现在它只是拒绝运行,任何帮助?谢谢?

【问题讨论】:

  • 唯一确定的方法是查看服务器日志。它们在不同操作系统上的不同位置,所以我不能告诉你在哪里看。查找日志,您会发现一条错误消息,解释了返回 500 的确切原因。
  • 我在 Ubuntu 上,服务器在 CentOS 上运行 apache,这有帮助吗?
  • 在 centos 服务器上检查 apache 日志。它们应该位于:/var/log/httpd/error_log

标签: python cgi


【解决方案1】:

猜测:您使用的是 Python 3,因此您的打印语句必须是打印函数调用:

print("Content-type: text/html")
etc...

【讨论】:

  • 不错,但我改了,没有任何区别
【解决方案2】:

好的,这是一个非常简单的解决方法,但我完全错过了。首先,Ned Batchelder 正确指出我的代码是 python 2(这很奇怪,因为我使用的是 python 3),但问题是 print("Content-type: text/html") 之后的 print 语句。第二个打印语句必须是 print("") 而不仅仅是 print()。所以我觉得有点愚蠢,但这为我解决了这个问题,希望这对其他人有帮助!

【讨论】:

    猜你喜欢
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 2013-11-13
    • 2016-04-24
    • 1970-01-01
    • 1970-01-01
    • 2016-12-22
    相关资源
    最近更新 更多