cgi mysql数据库_如何使用python中的mysql数据库调试cgi脚本。我对如何调试G是新手...

问题是在HTTP中,头必须以空行结尾。因此,不是发送一个标题行和一个3行正文,而是发送四个标题行,其中除了一个是无意义的,然后在没有完成标题的情况下退出。在

因此,服务器抱怨脚本没有完成响应的编写就退出了。在

试试这个:print "Content-type:text/html"

print

print ""

print "

DATABASE

"

print ""

如果您想记录每一行代码,正如您在注释中所说的,有两种方法可以做到这一点。在

快速而肮脏的方法是打开一个文件并write进入其中。例如:

^{pr2}$

更简单的方法是使用Python附带的^{}模块:#!/usr/bin/python

import cgitb

import MySQLdb

import cgi

import logging

logging.info('About to enable cgitb')

cgitb.enable()

logging.info('About to create FieldStorage')

form = cgi.FieldStorage()

这更简单(不需要在末尾添加\n,记录器可以为您格式化字符串,这样您就不必手动使用.format或{}等进行格式化)。而且它更加灵活(您可以在不同的级别记录不同的消息,您可以配置日志的位置—例如,将它们发送到您的system log而不是/tmp中的一个文件,等等)。而且它更健壮(不必担心忘记close文件并丢失最后的日志消息注意,在非logging示例中,我使用了with语句来获得相同的效果,但这需要缩进整个程序)。在

如果您有时间完成Logging Tutorial,您应该这样做。在

最后,如果您非常确定某行正在引发异常,但在服务器日志中的任何位置都找不到异常信息,下面是如何记录异常的方法:import traceback

try:

the line that raises

except Exception:

traceback.print_exc(None, logfile)

raise

这将捕获异常,并打印出与您在控制台解释器会话中获得的完全相同的详细回溯,但会将其打印到您先前打开的日志文件中,而不是控制台中,然后让异常正常传播。在

如果您使用的是logging模块,您可以使用它自己的内置异常日志记录,或者如果您想定制一些东西,您可以使用sys.exc_info和{}来获取要记录的字符串(或一系列字符串)。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值