如何解决我的Python CGI脚本问题?

时间:2015-07-29 15:19:02

标签: python cgi

我有一个Python CGI webapp,它不起作用,我不知道如何开始缩小问题范围。我该怎么办?

注意即可。 我非常感谢this same question for Perl的答案,我希望我有一个用于Python的答案。有些东西相似,但大多数都不一样。这是我提出问题的模板,所以如果您觉得应该提出不同的问题,请随时修改。

1 个答案:

答案 0 :(得分:3)

  1. 检查服务器的错误日志。例如,在Apache上,路径可以是/var/log/apache/error.log/var/log/httpd/error_log

  2. 确保您的脚本可执行(chmod +x script.py)。

  3. 确保您的脚本有一个she-bang行(#!/usr/bin/env python)。

  4. 某些配置只允许CGI脚本在/cgi-bin/目录中执行,您可以通过查看服务器的配置进行确认,或者只是尝试将脚本移动到该目录中。目录

  5. 尝试从命令行(./script.py)运行脚本。它应该打印并成功退出(如果脚本依赖于它们,您可能需要设置一些CGI环境变量)。

  6. 使用只打印"Content-Type: text/plain\n\nHello world"的最小脚本替换脚本。这应该告诉你CGI是否在服务器上运行。

  7. import cgitb; cgitb.enable()放在文件的顶部(shebang行下面的第一行)以捕获任何错误并向您显示回溯。您应该在解决问题后将其关闭,因为公开此信息可能存在安全风险。

  8. 如果您无法访问日志,则需要向服务器管理员寻求帮助,提交支持服务单等。如果您发布了什么网页,它也会有所帮助您正在运行的服务器,Web服务器配置的内容,哪个python版本,您的CGI脚本的外观等等。