Python [mod_wsgi]通过cli工作,但不通过apache工作

时间:2013-05-10 23:09:15

标签: python python-2.7 mod-wsgi wsgi mysql-python

CLI:

[root@localhost 0]# python test13.wsgi
(1, 'aaaaaa')
[root@localhost 0]# 

阿帕奇:

  

内部服务器错误

完整的脚本代码:

import MySQLdb
conn = MySQLdb.connect (host = "localhost",
                        user = "root",
                        passwd = "",
                        db = "aaa")
cursor = conn.cursor ()
cursor.execute ("select * from bbb limit 1")
row = cursor.fetchone ()
print row
cursor.close ()
conn.close ()

def application(environ, start_response):
    start_response('200 OK', [('content-type', 'text/html')])
    return row

error_log中:

[Fri May 10 16:04:07 2013] [info] mod_wsgi (pid=3692): Attach interpreter ''.
[Fri May 10 16:04:20 2013] [info] mod_wsgi (pid=3691): Create interpreter 'localhost.localdomain|/0'.
[Fri May 10 16:04:20 2013] [info] [client 127.0.0.1] mod_wsgi (pid=3691, process='', application='localhost.localdomain|/0'): Loading WSGI script '/0/test13.wsgi'.
[Fri May 10 16:04:20 2013] [error] (1, 'aaaaaa')
[Fri May 10 16:04:20 2013] [error] [client 127.0.0.1] mod_wsgi (pid=3691): Exception occurred processing WSGI script '/0/test13.wsgi'.
[Fri May 10 16:04:20 2013] [error] [client 127.0.0.1] TypeError: sequence of byte string values expected, value of type int found

1 个答案:

答案 0 :(得分:0)

application应该返回一个可迭代的字符串。你的返回一个整数和一个字符串的元组(这是一个可迭代的),它将不起作用:

TypeError: sequence of byte string values expected, value of type int found

return行更改为:

return [repr(row)]