Problem mit Apache 2, mod_python und MySQLdb

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Mittwoch 31. August 2005, 09:24

Moin!
Folgendes Problem:
Ich habe hier Debian mit Apache 2.0.54-4, libapache2-mod-python 3.1.3-3 und python-mysqldb 1.2.1c3-1.

Sobald ein Python-Script über mod_python zur Mysql-DB connecten will kriege ich:

Code: Alles auswählen

Mod_python error: "PythonHandler handler"

Traceback (most recent call last):

  File "/usr/lib/python2.3/site-packages/mod_python/apache.py", line 299, in HandlerDispatch
    result = object(req)

  File "/home/henning/public_html/idb/handler.py", line 101, in handler
    sql = MySQLdb.connect(**config.sql)

  File "/usr/lib/python2.3/site-packages/MySQLdb/__init__.py", line 66, in Connect
    return Connection(*args, **kwargs)

  File "/usr/lib/python2.3/site-packages/MySQLdb/connections.py", line 151, in __init__
    self.converter[types.StringType] = string_literal

TypeError: object does not support item assignment
Der selbe Code funktioniert (mit den selben config.sql-Werten) auf einem Gentoo-Rechner mit python-mysqldb 1.2.0 und der selben (bis auf -rX) apache- sowie mod_python-version.

Ich finde aber dummerweise keine älteren Debian-Packages von python-mysqldb und würde ausserdem auch gerne aktuell bleiben!
Also kennt jemand das Problem und vielleicht ne Lösung?

Btw:
Unter der Kommandozeile funktioniert mysqldb einwandfrei, es muss also mit mod_python zusammenhängen...
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Donnerstag 8. September 2005, 13:44

Also, nach laaaanger und intensiver Internetrecherche habe ich rausgefunden woran es liegt (falls jemand das selbe Problem hat):

Mein Apache hatte auch mod_php drin, welches natürlich auch mit MySQL-Unterstützung compiliert wurde. Das mysql von mod_php darf man allerdings nicht mit anderen MySQL-Modulen zusammen verwenden (oder zumindest muss man dabei irgendwas besonderes beachten), mod_php rausnehmen hilft jedenfalls 8)
Antworten