• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
hosting server session problem

#1
[eluser]rajyakshmik[/eluser]
I m working in both IE and Firefox.Firefox it's working fine both locally and server.In IE i m not getting session value.I included session.ph in application/libraries/session.php.
I m getting following errors

A PHP Error was encountered
Severity: Warning

Message: session_start() [function.session-start]: open(c:/wamp/tmp/sess_dc82bfda184f6dd3b4206c683b8772b2, O_RDWR) failed: No such file or directory (2)

Filename: libraries/Session.php

Line Number: 141

A PHP Error was encountered
Severity: Warning

Message: Unknown(): open(c:/wamp/tmp/sess_dc82bfda184f6dd3b4206c683b8772b2, O_RDWR) failed: No such file or directory (2)

Filename: Unknown

Line Number: 0

A PHP Error was encountered
Severity: Warning

Message: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (c:/wamp/tmp)

Filename: Unknown

Line Number: 0

Can i include both system/libraries/session.php and application/libraries/session.php.Please let me know the solution.

Thanks ,
Rajyalakshmi K

#2
[eluser]TheFuzzy0ne[/eluser]
Please post your code from ./system/application/libraries/session.php

#3
[eluser]rajyakshmik[/eluser]
class CI_Session {

var $flash_key = 'flash'; // prefix for "flash" variables (eg. flash:new:message)

function CI_Session()
{
$this->object =& get_instance();
log_message('debug', "Native_session Class Initialized");
$this->_sess_run();
}

/**
* Regenerates session id
*/
function regenerate_id()
{
// copy old session data, including its id
$old_session_id = session_id();
$old_session_data = $_SESSION;

// regenerate session id and store it
session_regenerate_id();
$new_session_id = session_id();

// switch to the old session and destroy its storage
session_id($old_session_id);
session_destroy();

// switch back to the new session id and send the cookie
session_id($new_session_id);
session_start();

// restore the old session data into the new session
$_SESSION = $old_session_data;

// update the session creation time
$_SESSION['regenerated'] = time();

// session_write_close() patch based on this thread
// http://www.ellislab.com/forums/viewthread/1624/
// there is a question mark ?? as to side affects

// end the current session and store session data.
session_write_close();
}

/**
* Destroys the session and erases session storage
*/
function destroy()
{
unset($_SESSION);
if ( isset( $_COOKIE[session_name()] ) )
{
setcookie(session_name(), '', time()-42000, '/');
}
session_destroy();
}

/**
* Reads given session attribute value
*/
function userdata($item)
{
if($item == 'session_id'){ //added for backward-compatibility
return session_id();
}else{
return ( ! isset($_SESSION[$item])) ? false : $_SESSION[$item];
}
}

/**
* Sets session attributes to the given values
*/
function set_userdata($newdata = array(), $newval = '')
{
if (is_string($newdata))
{
$newdata = array($newdata => $newval);
}

if (count($newdata) > 0)
{
foreach ($newdata as $key => $val)
{
$_SESSION[$key] = $val;
}
}
}

/**
* Erases given session attributes
*/
function unset_userdata($newdata = array())
{
if (is_string($newdata))
{
$newdata = array($newdata => '');
}

if (count($newdata) > 0)
{
foreach ($newdata as $key => $val)
{
unset($_SESSION[$key]);
}
}
}


function _sess_run()
{
session_start();

$session_id_ttl = $this->object->config->item('sess_expiration');

if (is_numeric($session_id_ttl))
{
if ($session_id_ttl > 0)
{
$this->session_id_ttl = $this->object->config->item('sess_expiration');
}
else
{
$this->session_id_ttl = (60*60*24*365*2);
}
}

// check if session id needs regeneration
if ( $this->_session_id_expired() )
{
// regenerate session id (session data stays the
// same, but old session storage is destroyed)
$this->regenerate_id();
}

// delete old flashdata (from last request)
$this->_flashdata_sweep();

// mark all new flashdata as old (data will be deleted before next request)
$this->_flashdata_mark();
}

/**
* Checks if session has expired
*/
function _session_id_expired()
{
if ( !isset( $_SESSION['regenerated'] ) )
{
$_SESSION['regenerated'] = time();
return false;
}

$expiry_time = time() - $this->session_id_ttl;

if ( $_SESSION['regenerated'] <= $expiry_time )
{
return true;
}

return false;
}

/**
* Sets "flash" data which will be available only in next request (then it will
* be deleted from session). You can use it to implement "Save succeeded" messages
* after redirect.
*/
function set_flashdata($key, $value)
{
$flash_key = $this->flash_key.':new:'.$key;
$this->set_userdata($flash_key, $value);
}

/**
* Keeps existing "flash" data available to next request.
*/
function keep_flashdata($key)
{
$old_flash_key = $this->flash_key.':old:'.$key;
$value = $this->userdata($old_flash_key);

$new_flash_key = $this->flash_key.':new:'.$key;
$this->set_userdata($new_flash_key, $value);
}

/**
* Returns "flash" data for the given key.
*/
function flashdata($key)
{
$flash_key = $this->flash_key.':old:'.$key;
return $this->userdata($flash_key);
}

/**
* PRIVATE: Internal method - marks "flash" session attributes as 'old'
*/
function _flashdata_mark()
{
foreach ($_SESSION as $na

#4
[eluser]rajyakshmik[/eluser]
I included only system/libraries/session.php only.It's working fine in some systems IE7 browser..
I want to change any options in my browser?

#5
[eluser]TheFuzzy0ne[/eluser]
Why are you editing the core files directly? You should be extending the core files in ./system/application/libraries/MY_Session.php.

#6
[eluser]rajyakshmik[/eluser]
I am not editing any core files.It's working fine in IE6 browser and In some vIE7 browsers also.Why it is not working properly in IE7 even after i changed cookies settings in my browser also happening same thing.If any body knows solution please let me know...

#7
[eluser]TheFuzzy0ne[/eluser]
Check the permissions for c:/wamp/tmp, and ensure that "everyone" can write to it.

#8
[eluser]zutis[/eluser]
- Permissions is the first port of call as the guys have said
- Then make sure that your 'cookie_domain' in your config.php is reflective of your 'base_url' - if these differ you will get probs
- Make sure you dont have underscores (' _ ') in your domain e.g. for your test server or something.

#9
[eluser]rajyakshmik[/eluser]
How can i check server tmp files.Now my problem is IE7 browser.Session is not creating when i m using IE7 browser..In some systems it's working fine in IE7 browser only.

#10
[eluser]TheFuzzy0ne[/eluser]
It sounds like your cookie are still not configured correctly. Either that, or you might be adding too much data to the cookie somewhere, and it's breaking.


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.