bluechip Posted December 28, 2004 Posted December 28, 2004 Everything appears to work fine with the install. The sample site loks great but I cant get into the admin tool below is the error message and the php congfig. any help would be appreciated Parse error: parse error, unexpected '(', expecting ',' or ';' in /usr/local/www/data-dist/catalog/admin/includes/classes/sessions.php on line 33 <?php /* osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2003 osCommerce Released under the GNU General Public License */ // Define the webserver and path parameters // * DIR_FS_* = Filesystem directories (local/physical) // * DIR_WS_* = Webserver directories (virtual/URL) define('HTTP_SERVER', 'http://localhost.bccs.com'); // eg, http://localhost - should not be empty for productive servers define('HTTP_CATALOG_SERVER', 'http://localhost'); define('HTTPS_CATALOG_SERVER', 'https://localhost'); define('ENABLE_SSL_CATALOG', 'true'); // secure webserver for catalog module define('DIR_FS_DOCUMENT_ROOT', '/usr/local/www/data/catalog/'); // where the pages are located on the server define('DIR_WS_ADMIN', '/catalog/admin/'); // absolute path required define('DIR_FS_ADMIN', '/usr/local/www/data/catalog/admin/'); // absolute pate required define('DIR_WS_CATALOG', '/catalog/'); // absolute path required define('DIR_FS_CATALOG', '/usr/local/www/data/catalog/'); // absolute path required define('DIR_WS_IMAGES', 'images/'); define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/'); define('DIR_WS_CATALOG_IMAGES', DIR_WS_CATALOG . 'images/'); define('DIR_WS_INCLUDES', 'includes/'); define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/'); define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/'); define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/'); define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/'); define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/'); define('DIR_WS_CATALOG_LANGUAGES', DIR_WS_CATALOG . 'includes/languages/'); define('DIR_FS_CATALOG_LANGUAGES', DIR_FS_CATALOG . 'includes/languages/'); define('DIR_FS_CATALOG_IMAGES', DIR_FS_CATALOG . 'images/'); define('DIR_FS_CATALOG_MODULES', DIR_FS_CATALOG . 'includes/modules/'); define('DIR_FS_BACKUP', DIR_FS_ADMIN . 'backups/'); // define our database connection define('DB_SERVER', 'localhost'); // eg, localhost - should not be empty for productive servers define('DB_SERVER_USERNAME', 'xxxx'); define('DB_SERVER_PASSWORD', 'xxxxxx'); define('DB_DATABASE', 'ecom'); define('USE_PCONNECT', 'false'); // use persisstent connections? define('STORE_SESSIONS', 'mysql'); // leave empty '' for default handler or set to 'mysql' ?>
Guest Posted December 28, 2004 Posted December 28, 2004 this isnt your sessions.php file, this is your configure.php file. /usr/local/www/data-dist/catalog/admin/includes/classes/sessions.php on line 33
bluechip Posted December 28, 2004 Author Posted December 28, 2004 here is the sessions.php and the php and sql versions mysql-client-4.1.5 Multithreaded SQL database (client) mysql-server-4.1.5 Multithreaded SQL database (server) php4-mysql-4.3.9 The mysql shared extension for php <?php /* $Id: sessions.php,v 1.11 2003/06/20 16:23:08 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2003 osCommerce Released under the GNU General Public License Original source from Web Application Development with PHP (Tobias Ratschiller, Till Gerken) Copyright © 2000, New Riders Publishing */ $SID = ''; class php3session { var $name = PHP_SESSION_NAME; var $auto_start = false; var $referer_check = false; var $save_path = PHP_SESSION_SAVE_PATH; var $save_handler = 'php3session_files'; var $lifetime = 0; var $cache_limiter = 'nocache'; var $cache_expire = 180; var $use_cookies = true; var $cookie_lifetime = 0; var $cookie_path = substr(DIR_WS_ADMIN, 0, -1); var $cookie_domain = ''; var $gc_probability = 1; var $gc_maxlifetime = 0; var $serialize_handler = 'php'; var $ID; var $nr_open_sessions = 0; var $mod_name = ''; var $id; var $delimiter = "\n"; var $delimiter_value = '[==]'; function php3session() { $this->mod_name = $this->save_handler; } } class php3session_user { var $open_func, $close_func, $read_func, $write_func, $destroy_func, $gc_func; function open($save_path, $sess_name) { $func = $this->open_func; if (function_exists($func)) { return $func($save_path, $sess_name); } return true; } function close($save_path, $sess_name) { $func = $this->close_func; if (function_exists($func)) { return $func(); } return true; } function read($sess_id) { $func = $this->read_func; return $func($sess_id); } function write($sess_id, $val) { $func = $this->write_func; return $func($sess_id, $val); } function destroy($sess_id) { $func = $this->destroy_func; if (function_exists($func)) { return $func($sess_id); } return true; } function gc($max_lifetime) { $func = $this->gc_func; if (function_exists($func)) { return $func($max_lifetime); } return true; } } class php3session_files { function open($save_path, $sess_name) { return true; } function close() { return true; } function read($sess_id) { global $session; // Open, read in, close file with session data $file = $session->save_path . '/sess_' . $sess_id; if (!file_exists($file)) { // Create it touch($file); } $fp = fopen($file, 'r') or die('Could not open session file (' . $file . ').'); $val = fread($fp, filesize($file)); fclose($fp); return $val; } function write($sess_id, $val) { global $session; // Open, write to, close file with session data $file = $session->save_path . '/sess_' . $sess_id; $fp = fopen($file, 'w') or die('Could not write session file (' . $file . ')'); $val = fputs($fp, $val); fclose($fp); return true; } function destroy($sess_id) { global $session; $file = $session->save_path . '/sess_' . $sess_id; unlink($file); return true; } function gc($max_lifetime) { // We return true, since all cleanup should be handled by // an external entity (i.e. find -ctime x | xargs rm) return true; } } function _session_create_id() { return md5(uniqid(microtime())); } function _session_cache_limiter() { global $session; switch ($session->cache_limiter) { case 'nocache': header('Expires: Thu, 19 Nov 1981 08:52:00 GMT'); header('Cache-Control: no-cache'); header('Pragma: no-cache'); break; case 'private': header('Expires: Thu, 19 Nov 1981 08:52:00 GMT'); header(sprintf('Cache-Control: private, max-age=%s', $session->cache_expire * 60)); header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime(basename($GLOBALS['PHP_SELF']))) . ' GMT'); break; case 'public': $now = time(); $now += $session->cache_expire * 60; $now = gmdate('D, d M Y H:i:s', $now) . ' GMT'; header('Expires: ' . $now); header(sprintf('Cache-Control: public, max-age=%s', $session->cache_expire * 60)); header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime(basename($GLOBALS['PHP_SELF']))) . ' GMT'); break; default: die('Caching method ' . $session->cache_limiter . ' not implemented.'); } } function _php_encode() { global $session; $ret = ''; // Create a string containing the serialized variables for (reset($session->vars); list($i)=each($session->vars);) { $ret .= $session->vars[$i] . $session->delimiter_value . serialize($GLOBALS[$session->vars[$i]]) . $session->delimiter; } return $ret; } function _php_decode($data) { global $session; $data = trim($data); $vars = explode($session->delimiter, $data); // Add the variables to the global namespace for (reset($vars); list($i)=each($vars);) { $tmp = explode($session->delimiter_value, $vars[$i]); $name = trim($tmp[0]); $value = trim($tmp[1]); $GLOBALS[$name] = unserialize($value); $session->vars[] = trim($name); } } function _wddx_encode($data) { global $session; $ret = wddx_serialize_vars($session->vars); return $ret; } function _wddx_decode($data) { return wddx_deserialize($data); } function session_name($name = '') { global $session; if (empty($name)) { return $session->name; } $session->name = $name; } function session_set_save_handler($open, $close, $read, $write, $destroy, $gc) { global $session, $php3session_user; $php3session_user = new php3session_user; $php3session_user->open_func = $open; $php3session_user->close_func = $close; $php3session_user->read_func = $read; $php3session_user->write_func = $write; $php3session_user->destroy_func = $destroy; $php3session_user->gc_func = $gc; $session->mod_name = 'php3session_user'; } function session_module_name($name = '') { global $session; if (empty($name)) { return $session->mod_name; } $session->mod_name = $name; } function session_save_path($path = '') { global $session; if(empty($path)) { return $session->save_path; } $session->save_path = $path; } function session_id($id = '') { global $session; if(empty($id)) { return $session->id; } $session->id = $id; } function session_register($var) { global $session; if ($session->nr_open_sessions == 0) { session_start(); } $session->vars[] = trim($var); } function session_unregister($var) { global $session; for (reset($session->vars); list($i)=each($session->vars);) { if ($session->vars[$i] == trim($var)) { unset($session->vars[$i]); break; } } } function session_is_registered($var) { global $session; for (reset($session->vars); list($i)=each($session->vars);) { if ($session->vars[$i] == trim($var)) { return true; } } return false; } function session_encode() { global $session; $serializer = '_' . $session->serialize_handler . '_encode'; $ret = $serializer(); return $ret; } function session_decode($data) { global $session; $serializer = '_' . $session->serialize_handler . '_decode'; $ret = $serializer($data); return $ret; } function session_start() { global $session, $SID, $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS; // Define the global variable $SID? $define_sid = true; // Send the session cookie? $send_cookie = true; // Is track_vars enabled? $track_vars = ( (isset($HTTP_COOKIE_VARS)) || (isset($HTTP_GET_VARS)) || (isset($HTTP_POST_VARS)) ) ? true : false; // Check if session_start() has been called once already if ($session->nr_open_sessions != 0) { return false; } // If our only resource is the global symbol_table, then check it. // If track_vars are enabled, we prefer these, because they are more // reliable, and we always know whether the user has accepted the // cookie. if ( (isset($GLOBALS[$session->name])) && (!empty($GLOBALS[$session->name])) && (!$track_vars) ) { $session->id = $GLOBALS[$session->name]; $send_cookie = false; } // Now check the track_vars. Cookies are preferred, because initially // cookie and get variables will be available. if ( (empty($session->id)) && ($track_vars) ) { if (isset($HTTP_COOKIE_VARS[$session->name])) { $session->id = $HTTP_COOKIE_VARS[$session->name]; $define_sid = false; $send_cookie = false; } if (isset($HTTP_GET_VARS[$session->name])) { $session->id = $HTTP_GET_VARS[$session->name]; } if (isset($HTTP_POST_VARS[$session->name])) { $session->id = $HTTP_POST_VARS[$session->name]; } } /* // Check the REQUEST_URI symbol for a string of the form // '<session-name>=<session-id>' to allow URLs of the form // http://yoursite/<session-name>=<s...>/script.php if (empty($session->id)) { eregi($session->name . '=([^/]+)', $GLOBALS['REQUEST_URI'], $regs); $regs[1] = trim($regs[1]); if (!empty($regs[1])) { $session->id = $regs[1]; } } */ // Check whether the current request was referred to by // an external site which invalidates the previously found ID if ( (!empty($session->id)) && ($session->referer_check) ) { $url = parse_url($GLOBALS['HTTP_REFERER']); if (trim($url['host']) != $GLOBALS['SERVER_NAME']) { unset($session->id); $send_cookie = true; $define_sid = true; } } // Do we have an existing session ID? if (empty($session->id)) { // Create new session ID $session->id = _session_create_id(); } // Is use_cookies set to false? if ( (!$session->use_cookies) && ($send_cookie) ) { $define_sid = true; $send_cookie = false; } // Should we send a cookie? if ($send_cookie) { setcookie($session->name, $session->id, $session->cookie_lifetime, $session->cookie_path, $session->cookie_domain); } // Should we define the SID? if($define_sid) { $SID = $session->name . '=' . $session->id; } $session->nr_open_sessions++; // Send caching headers // Start session $mod = $GLOBALS[$session->mod_name]; if (!$mod->open($session->save_path, $session->name)) { die('Failed to initialize session module.'); } // Read session data if ($val = $mod->read($session->id)) { // Decode session data session_decode($val); } // Send HTTP cache headers _session_cache_limiter(); // Check if we should clean up (call the garbage collection routines) if ($session->gc_probability > 0) { $randmax = getrandmax(); $nrand = (int)(100 * tep_rand() / $randmax); if ($nrand < $session->gc_probability) { $mod->gc($session->gc_maxlifetime); } } if ($define_sid) { define('SID', $SID); } else { define('SID', ''); } return true; } function session_destroy() { global $session; if ($session->nr_open_sessions == 0) { return false; } // Destroy session $mod = $GLOBALS[$session->mod_name]; if (!$mod->destroy($session->id)) { return false; } unset($session); $session = new php3session; return true; } function session_close() { global $session, $SID; if ($session->nr_open_sessions == 0) { return false; } // Encode session $val = session_encode(); $len = strlen($val); // Save session $mod = $GLOBALS[$session->mod_name]; if (!$mod->write($session->id, $val)) { die('Session could not be saved.'); } // Close session if ( (function_exists($session->mod_name . '->close')) && (!$mod->close()) ) { die('Session could not be closed.'); } $SID = ''; $session->nr_open_sessions--; return true; } $session = new php3session; $mod = $session->save_handler; $$mod = new $mod; if ($session->auto_start) { $ret = session_start() or die('Session could not be started.'); } register_shutdown_function('session_close'); ?>
joshuas Posted January 3, 2005 Posted January 3, 2005 Hi, I have the same problem now, after I have moved my shop (which was running fine) from my old server running php v.4.2.2 to the new site running php 4.3.4. Using a simple test.php-page with just the phpinfo()-funktion inside it (<? phpinfo();?>), you can see all your php-settings. After comparing the php-compile-settings of these two versions, I'm now pretty sure that I need to recompile php and need to "--enable mysql" and "--enable session" The following is my current and probably faulty php-compile-setting: ------------------------------------- './configure' '--prefix=/usr' '--datadir=/usr/share/php' '--mandir=/usr/share/man' '--bindir=/usr/bin' '--libdir=/usr/share' '--includedir=/usr/include' '--sysconfdir=/etc' '--with-_lib=lib' '--with-config-file-path=/etc' '--with-exec-dir=/usr/lib/php/bin' '--disable-debug' '--enable-inline-optimization' '--enable-memory-limit' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sigchild' '--disable-ctype' '--disable-session' '--without-mysql' '--disable-cli' '--without-pear' '--with-openssl' '--with-apxs2=/usr/sbin/apxs2-prefork' 'i586-suse-linux' -------------------------------------------------------------------------------------------- Check yours and see if you have these settings also disabled. mikado
Recommended Posts
Archived
This topic is now archived and is closed to further replies.