reneerd Posted August 14, 2018 Share Posted August 14, 2018 Hello again all... Got another odd one in 2 parts. Let me start with the last first: Specs: Cubecart: Current as of today PHP v 5.6.37 Issues: Recovering a basket from a saved cart blob (database). DETAILS: A customer was building an order in their basket over the last couple days. Today they logged in to find their basket emptied. The order was not placed nor was the basket emptied. Oddly I can see the order in the cubecart_saved_cart table in the database which is contained in the blob file. I am 100% at a loss for how it can be here with the proper customer ID associated with it yet not show in their basket. Any ideas on how to get this to show or "restore" this to their basket? Random empty baskets (Directly related to #1) Background: Our customers tend to build orders over the course of days/weeks. They rely on the previous selections remaining in their basket to build their order over time. DETAILS: Over the last year we have the occasional customer complain their cart has emptied. It has spread over 10-15 customers with the occasional repeat. Baskets have been being built anywhere from the day before to a couple of weeks. The timeout and cookie kill has been set from 1 week to a month trying to diagnose this problem (all the noted empty occurrences have happened within these time frames) Anyone have something similar happening or any guesses as to what it might be? I have kind of run through my skill level of options and come up blank? Link to comment Share on other sites More sharing options...
Noodleman Posted August 14, 2018 Share Posted August 14, 2018 are you using the abandoned carts module? Link to comment Share on other sites More sharing options...
reneerd Posted August 14, 2018 Author Share Posted August 14, 2018 Thanks for the fast response Noodleman (love several of your plugins btw) Not as far as I know but unfortunately I was not here for the initial building of this site. I can say there are no current modules like that in place and I am assuming the "cubecart_saved_cart" is stock to cubecart. Link to comment Share on other sites More sharing options...
havenswift-hosting Posted August 14, 2018 Share Posted August 14, 2018 You can also try to change the session settings for your account (if you are allowed to by your hosting company). Try doing the following (assumption made that you are hosted on a cPanel based system) 1) Create a new directory above the public_html directory called "sessions" 2) Change "session.save_path" in your php.ini file to point to this new session directory instead of the default one for your PHP version 3) Change "session.gc_maxlifetime" to something like 172800 (2 days in seconds) rather than the default session lifetime of 1440 (24 minutes) We do this for all clients on our fully managed hosting plans and solves the problem. BTW the Abandoned Carts Module is still useful for catching and converting visitors that started to build an order and left before completing it Ian Link to comment Share on other sites More sharing options...
Noodleman Posted August 14, 2018 Share Posted August 14, 2018 Afternoon, that rules out my initial thought. The module I mentioned may, under some rare scenarios do similar to what you have described. The recall of the cart (if in CubeCart_saved_cart) is reasonably simple. however it does have a dependency on the customer session data still existing on the server. perhaps your web server is clearing session files/content on a schedule. most servers do it on a re-boot, some scheduled etc. I think that may explain the issue. Link to comment Share on other sites More sharing options...
havenswift-hosting Posted August 14, 2018 Share Posted August 14, 2018 7 minutes ago, Noodleman said: perhaps your web server is clearing session files/content on a schedule. most servers do it on a re-boot, some scheduled etc. I think that may explain the issue. The standard behaviour is to set the session save path to a fixed path per PHP version (so all users on that same version of PHP use the same path) and set the gc_maxlifetime to 24 minutes and while garbage collection is a fuzzy concept, potentially a session can be considered stale and deleted after 24 minutes. This explains why you have an item in the saved_cart table but the customer cannot see it Link to comment Share on other sites More sharing options...
reneerd Posted August 14, 2018 Author Share Posted August 14, 2018 Thanks Ian (another fan of your plugins btw) and Noodleman Ian, I tried looking for the php.ini in the impacted directories but there are none in any of the sites we have that use cubecart. However, I am seeing a ini-custom.inc.php which seems to be doing what I normally see a php.ini do. Example: upload_max_filesize = 12M post_max_size = 13M memory_limit = 15M Would your save path redirect work there? I can see no reason not to try a php.ini in the public directory so I am testing it but not getting any population in the sessions directory. <?php session_save_path('home/*directory*/sessions'); ?> Does the above seem right? Link to comment Share on other sites More sharing options...
havenswift-hosting Posted August 14, 2018 Share Posted August 14, 2018 If you are running cPanel AND your hosting companies allows you access to Multi PHP INI Editor AND you are allowed by them to change the values - that is by far the best way of doing it. Once you have changed it, then go into PHP Info and go to the sessions section and check that it has changed If your statement in your last post of the setting of your memory_limit at 15M is correct and it isnt a typo, then you need to change or better still remove that line ! Link to comment Share on other sites More sharing options...
reneerd Posted August 14, 2018 Author Share Posted August 14, 2018 Okay disregard, I figured it out. The directory is now populating. I will let you know how we made out, thanks again! Ian, noted and removing now! Link to comment Share on other sites More sharing options...
havenswift-hosting Posted August 14, 2018 Share Posted August 14, 2018 One side effect (a benefit for some) is that the admin login session will not be automatically terminated if left for a while - still always best from a security point of view to logout when you are finished Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.