Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何对Python CGI脚本进行故障排除?_Python_Cgi - Fatal编程技术网

如何对Python CGI脚本进行故障排除?

如何对Python CGI脚本进行故障排除?,python,cgi,Python,Cgi,我有一个Python CGI Web应用程序无法工作,我不知道如何开始缩小问题范围。我能做什么 注意。我真的很感谢你的回答,我希望我有一个Python的答案。有些东西很相似,但大多数是不同的。这是我提问的模板,所以如果你觉得应该以不同的方式提问,请随意编辑 检查服务器的错误日志。例如,在Apache上,路径可能是/var/log/Apache/error.log或/var/log/httpd/error\u log 确保脚本是可执行的(chmod+xscript.py) 确保脚本有一行she-

我有一个Python CGI Web应用程序无法工作,我不知道如何开始缩小问题范围。我能做什么


注意。我真的很感谢你的回答,我希望我有一个Python的答案。有些东西很相似,但大多数是不同的。这是我提问的模板,所以如果你觉得应该以不同的方式提问,请随意编辑

  • 检查服务器的错误日志。例如,在Apache上,路径可能是
    /var/log/Apache/error.log
    /var/log/httpd/error\u log

  • 确保脚本是可执行的(
    chmod+xscript.py

  • 确保脚本有一行she-bang(
    #!/usr/bin/env-python

  • 某些配置仅允许CGI脚本在
    /CGI bin/
    目录中执行,您可以查看服务器的配置进行确认,或者尝试将脚本移动到该目录中

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

  • 将脚本替换为只打印
    “内容类型:text/plain\n\nHello world”
    的最小脚本。这将告诉您CGI是否在服务器上工作

  • 放入
    导入cgib;cgib.enable()
    位于文件顶部(shebang行下面的第一行),用于捕获任何错误并显示回溯。您应该在解决问题后关闭此选项,因为公开此信息可能会带来安全风险


  • 如果您没有访问日志的权限,则需要向服务器管理员寻求帮助、提交支持票证等。如果您发布正在运行的web服务器、web服务器配置的外观、python版本、CGI脚本的外观,也会很有帮助,等等。

    您是否查看了服务器的错误日志?这正是答案中的步骤(以及其他步骤)。另外,我也不知道该怎么做(顺便说一句,没有管理员权限)。@JPeroutek通常情况下,服务器错误日志本身不足以真正理解手头的问题是什么。例如,
    [Mon-Sep 25 12:17:48.291168 2017][http:error][pid 12][client 172.20.0.1:53312]AH02429:Response header name'