Posted: September 23, 2021 at 4:31 am
|
Hello, 1) {REMOVED}: 2) {REMOVED}: Info on our Environment: There are no errors in the debug.log file. We urgently need help in resolving these errors. We’ve already followed instructions from related threads on these errors to no avail. |
Hi there, Both of the errors you’ve referenced above point to an issue with PHP Sessions on the server. For #1 the checkout process is pulling the registrations from the transaction linked to your current cart, which it gets using your current session. You’re getting no registrations returned from the query which on its own could be caused by a few different issues although still usually session related. For #2 when you enter the promotion code the first step the function takes is to pull in the current cart from your session again, like this:
— My guess based on the info we have is this is from the CloudFront CDN are you load balancing through cloudfront? |
|
|
Hi Tony, Thank you for the information. If this is a PHP session related issue, it still is not consistent across all the plugins because other operations on the site are working as expected. Can you provide us more information on what configurations to check for PHP sessions to work correctly for EE? |
You would need to set it up so the load balancer always sends the same session(s) to the same server, I’m not a sys admin but if I recall correctly it is called sticky sessions, or some other method to share sessions across all instances. If User A hits Site 1 and starts a session, then the ajax request sent by Event Espresso is sent to Site 2 it will check for the session find there isn’t one and start another for that request to use.
Can you provide more details as to what other those operations are, please? WordPress itself doesn’t use PHP Sessions so just wondering what you are using to compare with it working. |
|
|
September 23, 2021 at 10:48 am Please note that we are using a single server with the load balancer. The load balancer in our environment is only a security setup and does not load balance across multiple servers so no sticky sessions etc are required. Can you let us know of all the url paths which Event Espresso takes while registering a user in an event? For e.g. we recently discovered that wp-admin/admin-ajax.php is used by EE for Ajax calls. Is there any other important path which we should whitelist? All other operations on our site, either using php sessions or not are working as expected. That’s what I meant. However, one of the plugins called “FlickRocket” uses php sessions too and it seems to be working fine. |
|
September 23, 2021 at 11:07 am FYI – We’re using Stripe as the payment gateway on both sites. Also, let us know if EE stores any kind of session info in a folder somewhere on the server. |
September 23, 2021 at 12:37 pm
Hmm, ok, so not really a load balancer then. I can’t think of anything else that could cause this.
From the single event page, or the page containing the ticket selector (if using a separate shortcode for it) you have the EE4 critical pages listed in: Event Espresso -> General Settings -> Critical pages.
Yeah, any plugin using ajax ‘the WordPress way’ will use the above file. EE uses that to process the steps of the checkout (attendee information, payment options, promo codes etc). I’m not aware of any other paths you would need for this.
May I ask what you are whitelisting the URLs from/on? If you’ve whitelisted admin-ajax.php are you still getting the same issue? If you’d like to create a temp member on the site I can test a registration with use support[at]eventespresso.com for the email and send the details over using this form: https://eventespresso.com/send-login-details/
We store session details in the database, but don’t store any details on the server itself. We use the ID from the PHP Session to identify the user and that’s it, nothing else is stored within the session. |
|
|
Tony, can you let us know what specific http headers EE and its add-ons use in particular to process the steps of registration? |
I’m not sure I follow, we don’t use specific http headers within EE. Can you add some more details on what you are looking into? |
|
|
Our sites are purposely secured, we only forward trusted and known cookies/headers to our server. What we had to do to resolve the issues with EE is, we had to allow ALL headers without exception for the pages related to EE in order for it to work. We were hoping your team could identify all the https headers which EE uses in order to make the checkout process work. |
The support post ‘Registration Checkout page stuck after showing 'Unable to retrieve cart"’ is closed to new replies.
Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.