Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Local install errors (session.php)


dragon5

Recommended Posts

Hello, I'm getting the following after a local install:

 

Warning: session_start(): open(/tmp\sess_216263423982ff210d5b57dd7cafe88a, O_RDWR) failed: No such file or directory (2) in c:\easyphp1-8\www\catalog_test\includes\functions\sessions.php on line 67

 

Warning: session_write_close(): open(/tmp\sess_216263423982ff210d5b57dd7cafe88a, O_RDWR) failed: No such file or directory (2) in c:\easyphp1-8\www\catalog_test\includes\functions\sessions.php on line 106

 

Warning: session_write_close(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in c:\easyphp1-8\www\catalog_test\includes\functions\sessions.php on line 106

 

 

and here is my session.php file:

 

 

if (STORE_SESSIONS == 'mysql') {

if (!$SESS_LIFE = get_cfg_var('session.gc_maxlifetime')) {

$SESS_LIFE = 1440;

}

 

function _sess_open($save_path, $session_name) {

return true;

}

 

function _sess_close() {

return true;

}

 

function _sess_read($key) {

$value_query = tep_db_query("select value from " . TABLE_SESSIONS . " where sesskey = '" . tep_db_input($key) . "' and expiry > '" . time() . "'");

$value = tep_db_fetch_array($value_query);

 

if (isset($value['value'])) {

return $value['value'];

}

 

return false;

}

 

function _sess_write($key, $val) {

global $SESS_LIFE;

 

$expiry = time() + $SESS_LIFE;

$value = $val;

 

$check_query = tep_db_query("select count(*) as total from " . TABLE_SESSIONS . " where sesskey = '" . tep_db_input($key) . "'");

$check = tep_db_fetch_array($check_query);

 

if ($check['total'] > 0) {

return tep_db_query("update " . TABLE_SESSIONS . " set expiry = '" . tep_db_input($expiry) . "', value = '" . tep_db_input($value) . "' where sesskey = '" . tep_db_input($key) . "'");

} else {

return tep_db_query("insert into " . TABLE_SESSIONS . " values ('" . tep_db_input($key) . "', '" . tep_db_input($expiry) . "', '" . tep_db_input($value) . "')");

}

}

 

function _sess_destroy($key) {

return tep_db_query("delete from " . TABLE_SESSIONS . " where sesskey = '" . tep_db_input($key) . "'");

}

 

function _sess_gc($maxlifetime) {

tep_db_query("delete from " . TABLE_SESSIONS . " where expiry < '" . time() . "'");

 

return true;

}

 

session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_gc');

}

 

function tep_session_start() {

return session_start();

}

 

function tep_session_register($variable) {

global $session_started;

 

if ($session_started == true) {

return session_register($variable);

} else {

return false;

}

}

 

function tep_session_is_registered($variable) {

return session_is_registered($variable);

}

 

function tep_session_unregister($variable) {

return session_unregister($variable);

}

 

function tep_session_id($sessid = '') {

if (!empty($sessid)) {

return session_id($sessid);

} else {

return session_id();

}

}

 

function tep_session_name($name = '') {

if (!empty($name)) {

return session_name($name);

} else {

return session_name();

}

}

 

function tep_session_close() {

if (PHP_VERSION >= '4.0.4') {

return session_write_close();

} elseif (function_exists('session_close')) {

return session_close();

}

}

 

function tep_session_destroy() {

return session_destroy();

}

 

function tep_session_save_path($path = '') {

if (!empty($path)) {

return session_save_path($path);

} else {

return session_save_path();

}

}

 

function tep_session_recreate() {

if (PHP_VERSION >= 4.1) {

$session_backup = $_SESSION;

 

unset($_COOKIE[tep_session_name()]);

 

tep_session_destroy();

 

if (STORE_SESSIONS == 'mysql') {

session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_gc');

}

 

tep_session_start();

 

$_SESSION = $session_backup;

unset($session_backup);

}

}

?>

 

Any help would be appreciated.

Thanks

d5

Link to comment
Share on other sites

Sessions have to be stored either in the database or in a sessions folder, which by default is set to a folder called 'tmp'. Unfortunately the osCommerce install does not include that folder, and that is why you are getting the error message.

 

The best thing to do is to store sessions in the database anyway, so edit your two configure.php files so that on the last line of each it says 'mysql' where indicated. The error message will then go away.

 

Vger

Link to comment
Share on other sites

Sessions have to be stored either in the database or in a sessions folder, which by default is set to a folder called 'tmp'.  Unfortunately the osCommerce install does not include that folder, and that is why you are getting the error message.

 

The best thing to do is to store sessions in the database anyway, so edit your two configure.php files so that on the last line of each it says 'mysql' where indicated.  The error message will then go away.

 

Vger

 

 

Thanks. Worked!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...