OK I have solved this problem and post it here for anyone else who may be suffering the same issue.
There IS a way to solve this within oscMAx without having to change server settings. The answer is in the sessions.php file (includes/functions/sessions.php), where we find the code specifically setting the session lifetime to 24 minutes (1440 seconds), for sessions stored in mysql.
Look for this code:
Code:
if (STORE_SESSIONS == 'mysql') {
if (!$SESS_LIFE = get_cfg_var('session.gc_maxlifetime')) {
$SESS_LIFE = 1440;
}
Simply remove the 'if' statement and set the $SESS_LIFE to an appropriate number (in seconds), but as jpf suggested less than 60 minutes.
Like this:
Code:
if (STORE_SESSIONS == 'mysql') {
$SESS_LIFE = 3000; //set to 50 minutes
You can do the same for the sessions.php in the admin folder.
Of course you need to have STORE_SESSIONS set to 'mysql' in both of the configure.php files.
This has helped us solve what was becoming a serious problem of expiring sessions during checkout, particularly when using the Paypal IPN. By the time some people fiddled around on the Paypal site, their session had expired, which resulted in money being taken in Paypal, but no record of the order on our site. Very embarrassing.
However we are now all smiles
There was a solution after all.
Bookmarks