#3112 closed defect (invalid)
Trac's mod_python frontend doesn't work with php5
Reported by: | Owned by: | Christopher Lenz | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | web frontend/mod_python | Version: | 0.9.4 |
Severity: | normal | Keywords: | php5 |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
When trying to use Trac on my Apache-server (Apache/2.0.55 (Unix) mod_ssl/2.0.55 OpenSSL/0.9.8a DAV/2 SVN/1.3.1 mod_python/3.2.8 Python/2.4.3 PHP/5.1.2) it generates a 500 Internal Server Error. If I unload the php-module (without changing anything else) it suddenly works.
In error.log: [Wed May 03 16:52:38 2006] [error] [client 139.164.130.171] PythonHandler trac.web.modpython_frontend: OperationalError: unsupported file format
Attachments (0)
Change History (8)
comment:1 by , 19 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
comment:2 by , 19 years ago
Resolution: | invalid |
---|---|
Status: | closed → reopened |
I have this problem too. Okay, it has nothing to do with Trac. But is it anyone here who knows what can be done with it?
comment:3 by , 19 years ago
Resolution: | → invalid |
---|---|
Status: | reopened → closed |
Support and installation questions should be asked on the mailing list or IRC channel, not filed as tickets.
comment:4 by , 19 years ago
Keywords: | php5 added |
---|
… though I doubt anyone there would be able to give you an answer, as this problem seems to be an open question, AFAIK.
If someone can prove me wrong, it would be nice to drop a reference here to the place explaining what's happening, and what could be done (besides disabling that php5 module that nobody needs anyway :) ).
comment:5 by , 19 years ago
At least, I will propose one guess, as the PySqlite troubleshooting
page says about the OperationalError?: unsupported file format
:
This probably is symptomatic of a mismatch between the SQLite library and the SQLite database format.
Then it could be that this php5 module was dynamically linked against another SQLite library, maybe a 3.2.x something, and your trac db was created with a sqlite3 ≥ 3.3.3.
In a similar way, when the two sqlite3 libraries are too different, you could also see a segfault (#2489). But as I said in the previous comment, those are mostly suppositions, I never had such a crash at hand to investigate myself, nor did I found an explanation elsewhere on the Web. What you find pretty easily, though, are error reports from people witnessing this or similar phenomenon…
comment:6 by , 18 years ago
Unless specified when compiling mod_php, it is compiled with internal SQLite support. Though this is only SQLite 2.x-something, which causes error when Trac tries to dynamically load SQLite 3.x libraries.
comment:7 by , 18 years ago
Forgot to say: Therefore one has to compile mod_php with "—without-sqlite", and perhaps use php-sqlite3 (http://php-sqlite3.sourceforge.net) instead, if one has to have sqlite-support for mod_php.
comment:8 by , 17 years ago
Just a workaround, but easier than compiling PHP: run Trac with FastCGI instead of mod_python.
This is a linking problem, and really has nothing to do with Trac. Essentially, two different versions of the same library are being linked in to the Apache process. Most likely sqlite, as it is included with PHP and dynamically linked in by Trac through pysqlite.