David Geller
dg at sponsera.com
Sat Jan 24 17:14:45 EST 2004
All: Awhile ago I posted an issue under "mod_python and mysql - wierd problem!' 1/8/2004 I was having similar problems to those described here: 1. python program with sql queries worked fine in "console" mode 2. under mod_python, when I called "c.execute()", httpd would get a "segmentation fault" (this was apparent in the httpd error log) 3. sometimes, instead, I would get weird, inconsistant errors, like Petros decribes. Paul Querna actually hinted at what was wrong - but it took me awhile to find it (what was especially strange, and still unexplained, is why things worked fine under mod_python on my redhat8 machine, but then failed on the redhat9 server). Explanation(?): In my httpd.conf I was loading two DSO modules: mod_python and php4. It turns out, when I removed the reference to php4, the mod_python worked perfectly. Now, why was this? Well, I went back to the php4 module, and checked out "configure" - if you know anything about php, it was being configured with the "--with-mysql" flag, which tells it to use an "internal" version of mysql libs. Apparently, this is fine - as long as *no other modules use mysql* (the php configure tells you this at the end). If they do, you should specify the actual mysql library directory. Well, mod_python was basically another module using mysql. Duuuuh! (well, not so obvious to me, really). When I specified the actual mysql library to php configure, and recompiled and reinstalled the PHP, I could have LoadModules for both php and mod_python and both *appear* to work. Not completely sure why this is, but it seems to have solved the problem. David Petros Keshishian wrote: >Ross: > >I had the same problem in mod_python with MySQL: >Namely the script was working from python shell, but >not in mod_python. I discovered that when I query only >one column , e.g. >C.execute('select id from cities where id=17;') >than it worked in mod_python as well, but when I try >for more that one column it dies. Unfortunatly I could >not find a solution and since my database is very >small I wrote a script that queries the database for >each column separately and then combines and returns >the result. This is not really a solution because it >does not address the problem and can slow down your >program significantly if your database is large. > >Try to see whether your script works when you query >only one column. I am very intersted in the solution >of this problem. > >-Petros > > >= = = Original message = = = > >Hello, > >I am working on porting some scripts over to >mod_python, but my scripts >die when I attempt to execute a MySQL query. > >Here is a demonstration of the problem: >http://localfeeds.com/near/display-rss.app > >In mozilla, it loads a blank page, on Safari, I get a >"page returned no >data" error. > >The code in display-rss.py is: >------------------------------- >DB = "db" >USER = "user" >PASS = "password" > >import MySQLdb > >def index(req): > > DB_CONN = MySQLdb.connect(db=DB, user=USER, >passwd=PASS) > C=DB_CONN.cursor() > C.execute('select * from cities where id=17;') > return "Something" >------------------------------- > >I have also tried using the code from : >http://www.modpython.org/FAQ/faqw.py?req=all#3.3 > >If I comment out the 'execute' statement, it works >fine, the page that >comes back displays the word "Something:", as >expected. > >I am using Apache/2.0.48 >Python 2.3.3 >mod_python 3.0.4 >on FreeBSD 4.9 > >My Apache configuration is: >AddHandler python-program .app >PythonHandler mod_python.publisher >PythonAutoReload On >PythonDebug On > >I suspect this will be related to the Apache/FreeBSD >threading can of >worms... but I'm hoping there is another answer. If >anyone has a spare >clue to offer, I'd really appreciate it. > >Thanks!, > >-Ross >_______________________________________________ >Mod_python mailing list >Mod_python at modpython.org >http://mailman.modpython.org/mailman/listinfo/mod_python > >___________________________________________________________ >Sent by ePrompter, the premier email notification >software. >Free download at http://www.ePrompter.com. > >__________________________________ >Do you Yahoo!? >Yahoo! SiteBuilder - Free web site building tool. Try it! >http://webhosting.yahoo.com/ps/sb/ >_______________________________________________ >Mod_python mailing list >Mod_python at modpython.org >http://mailman.modpython.org/mailman/listinfo/mod_python > > > > -- David Geller Sponsera, LLC dg at sponsera.com www.sponsera.com Phone: 703.532.6812 Fax: 703.532.6058
|