|
Graham Dumpleton
grahamd at dscpl.com.au
Tue Feb 21 05:45:11 EST 2006
On 21/02/2006, at 9:25 PM, Gavin wrote:
>> On 21/02/2006, at 5:41 PM, Gavin wrote:
>>
>>> hello Graham
>>>
>>> Thank you!
>>> My configuration is as following:
>>>
>>> <Directory "/data/HTTPD/htdocs/FeedBack">
>>>
>>> AddHandler mod_python .m
>>
>> Do you really mean ".m"? Don't you mean ".psp, how else can you use
>> "sid.psp"
>> as file name?
>>
> Right. I use sid.m.
In the URL, or for the file? Its a bit confusing. Is there are reason
you want
to use ".m" extension?
Anyway, when I take the PSP code you posted and which you referred to
as "sid.psp" and put in a directory with .htaccess file of:
AddHandler mod_python .psp
PythonHandler mod_python.psp
PythonDebug On
If I access it as sid.psp in URL, the code works as expected.
>>> PythonHandler mod_python.psp
>>> #PythonHandler mod_python.publisher
>>> PythonPath "['/data/HTTPD/py_api']+['/data/HTTPD/htdocs/FeedBack']
>>> +sys.path"
>>> PythonDebug Off
>>> Options Indexes FollowSymLinks
>>> Order deny,allow
>>> Allow from all
>>>
>>> </Directory>
>>>
>>> I don't use PythonOption to override the either "session_dbm" or
>>> "session_directory"
>>>
>>
>> All I can suggest then is to look for the file:
>>
>> /tmp/mp_sess.dbm.db
>>
>> or something named similarly. I don't think it is meant to have extra
>> ".db" extension
>> but on my Mac there is one for some reason.
>>
>>
> Cann't found any file like mp* under /tmp
All I can suggest then is to modify lib/python/mod_python/Session.py in
mod_python source code and add in some debug statements to see what
session database name is being set to.
class DbmSession(BaseSession):
def __init__(self, req, dbm=None, sid=0, secret=None,
dbmtype=anydbm,
timeout=0, lock=1):
if not dbm:
opts = req.get_options()
if opts.has_key("session_dbm"):
dbm = opts["session_dbm"]
else:
dbm = os.path.join(opts.get('session_directory',
tempdir), 'mp_sess.dbm')
self._dbmfile = dbm
self._dbmtype = dbmtype
# XXX DEBUG
apache.log_error("dbmfile=%s"%self._dbmfile)
Reinstall mod_python and restart Apache.
Then when running test, look in Apache error_log to see where it
thinks it is getting
put. See if file exists if not in /tmp.
Graham
|