mauricebis Posted November 11, 2010 Share Posted November 11, 2010 Hello, I installed the vertrigo package on Windows XP which runs php 5.12.14. I've a program that uses sessions whose data are stored in a MySql datbase. This program works fine on linux. Almost everything works on windows as well, session_start works, the write handler works. The read handler works and returns the serialized data of the session (I checked this), BUT $_SESSION is empty after session_start? Any help much appreciated. Thanks. Here below are the session configuration parameters and the read handler code. function set_session_parameters() { /* ini_set('session.save_path', '/home/piet/sessions/quotes');*/ session_name('QUOTEID'); /* call session_name before gc parameters, should be safer*/ ini_set('session.gc_divisor', '100'); ini_set('session.gc_maxlifetime', '86400'); /*garbage periodicity for sessions in seconds: 1 day, this applies only to sessions with 'started' status (see _clean_session_quote()).*/ ini_set('session.gc_probability', '35'); /*this value/divisor(default 100)=probability of launching the garbage collector on session_start(), here probability=3/10*/ ini_set('session.use_only_cookies', '0'); // don't rely on cookies ini_set('session.use_cookies', '0'); ini_set('url_rewriter.tags',''); //This is in the case the propagation of the sid in the url were enabled (session.use_trans_sid set to 1) while it should be disabled by default. ini_set('session.serialize_handler','php'); ini_set('session.save_handler','user'); //use a data base for custom storage of the sessions session_set_save_handler('_open_session','_close_session','_read_session','_write_session','_destroy_session_quote','_clean_session_quote'); }//set_session_parameters function _read_session($id){ global $dbref; $id = mysql_real_escape_string($id); $sql = "SELECT data FROM sessions WHERE id = '$id'"; if (!is_resource($result = @mysql_query($sql, $dbref))) throw new Exception("can't read session:" . mysql_error()); if (mysql_num_rows($result)){ $record = mysql_fetch_assoc($result); return $record['data']; } return ''; }//_read_session Link to comment https://forums.phpfreaks.com/topic/218369-sessions-php-5214-apache-windows-vertrigo/ Share on other sites More sharing options...
mauricebis Posted November 18, 2010 Author Share Posted November 18, 2010 I reply to myself if that can be of any help to others. I didn't manage to get the default php session serializer to work. However, as the XML wddx serializer comes bundled with the windows php version, I explicitly switched to this serializer: ini_set('session.serialize_handler', 'wddx'); before starting the session and things work fine. Link to comment https://forums.phpfreaks.com/topic/218369-sessions-php-5214-apache-windows-vertrigo/#findComment-1136002 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.