Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Recreate Sessions fails after upgrade to 2.3.3


Guest

Recommended Posts

I upgraded to 2.3.2 from 2.3.1 last week, then did the upgrade to 2.3.3 today - everything works perfectly fine except logging in to the front end. If my session settings are set to recreate sessions on log in/create account, the customers never get passed the log in screen - it just keeps refreshing the page.

 

I both updated by hand the includes\functions\sessions.php file and straight replaced it with the one in the download - neither allowed people to log in. Any other suggestions on what files I might need to check? It was a fairly clean install of 2.3.1 with minimal add-ons, and everything was working fine through the 2.3.2 upgrade, and all works fine through the 2.3.3 upgrade except the recreate session.

 

My server is currently running PHP 5.2.17, so it would be affected by the change in how the session recreation is handled.

Link to comment
Share on other sites

Can you confirm that the following changes were made to catalog/includes/functions/sessions.php:

 

https://github.com/osCommerce/oscommerce2/commit/c9e52a3d2801b09057e6b3f6dbca8cef311ec73c

 

The updated tep_session_recreate() function now uses session_regenerate_id(true) which is available on PHP 5.1+.

:heart:, osCommerce

Link to comment
Share on other sites

The changes were indeed made, first by manually editing the code and then when it didn't work and I narrowed the problem down to the session recreate function, I replaced the file completely with the one included in the download package in case I had missed something else in the file. The file mirrors the one shown on github.

 

Is there another file that it might be referenced? Or something that would create a similar issue that just happens to be resolved by setting Recreate Sessions to false?

Link to comment
Share on other sites

I changed my session configuration settings to avoid the problem. I believe I'm no longer recreating sessions. I think I posted about it on this forum

 

edit: found it

On my new server environment I had to force cookie usage and recreate false.

This worked for me, but won't necessarily help you. I haven't truely figured out why my session recreate wont work ...

I basically gave up. Originally it was running php 5.3 with issues, downgraded to 5.2 but issue remained, so I found these settings good enough for my particular environment.

KEEP CALM AND CARRY ON

I do not use the responsive bootstrap version since i coded my responsive version earlier, but i have bought every 28d of code package to support burts effort and keep this forum alive (albeit more like on life support).

So if you are still here ? What are you waiting for ?!

 

Find the most frequent unique errors to fix:

grep "PHP" php_error_log.txt | sed "s/^.* PHP/PHP/g" |grep "line" |sort | uniq -c | sort -r > counterrors.txt

Link to comment
Share on other sites

Does the PHP documentation example work?

 

<?php
session_start();

$old_sessionid = session_id();

session_regenerate_id(true);

$new_sessionid = session_id();

echo "Old Session: $old_sessionid<br />";
echo "New Session: $new_sessionid<br />";

print_r($_SESSION);
?>

 

When refreshing the page, the new session ID should become the old session ID.

:heart:, osCommerce

Link to comment
Share on other sites

both are changed upon refresh

KEEP CALM AND CARRY ON

I do not use the responsive bootstrap version since i coded my responsive version earlier, but i have bought every 28d of code package to support burts effort and keep this forum alive (albeit more like on life support).

So if you are still here ? What are you waiting for ?!

 

Find the most frequent unique errors to fix:

grep "PHP" php_error_log.txt | sed "s/^.* PHP/PHP/g" |grep "line" |sort | uniq -c | sort -r > counterrors.txt

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...