Python cgi奇怪的行为

时间:2011-09-29 19:41:49

标签: python cgi

我有一个带有html输出的简单CGI python脚本:

print "Content-Type: text/html"
print
print hours,minutes,seconds,","

当我从我的linux shell运行它时,它运行正常,但是当从浏览器调用时,我得到的只是一个空白页面。之前我使用CRLF EOF而不是LF时曾遇到过这个问题,但是我改变了这个问题,直到最近的一些修改它才能正常工作。

当脚本从shell运行良好但不是从浏览器调用时,我不知道该怎么办。

1 个答案:

答案 0 :(得分:1)

<!-- SHTML Wrapper - 500 Server Error -->表示服务器上出现问题。此错误的CGI脚本中最常见的原因是CGI脚本本身存在未被捕获的错误,导致其过早终止。最好的办法是检查Apache错误日志。这些通常在/var/log/<name of Apache install>/error.log(这可能是/var/log/apache2/error.log或/var/log/httpd/error.log等)

既然你已经说过这在shell中运行良好,我的猜测是这是sys.path的一个问题(记住,Apache是​​一个不同的用户,它将有不同的设置),但我需要看到更多确定。

其他问题可能是:

  • 不同的Python版本(3对2)
  • 文件具有错误的权限(755是标准,我相信)
  • Python中某处依赖于环境的语法错误