Problem using root as cookie path after installing CEON URI
After installing CEON URI the session is wiped when a customer tries to log in - meaning, login is impossible. I traced this down to init_sessions.php in includes/init_inludes/overrides. The only thing that file does is to force the cookie path to be set to root "/" (Zen Cart resides in "/purchase/" in my case). Apparently that doesn't work, but I have not been able to identify why. What are common reasons that setting cookie path to root fails?
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
flyvholm
After installing CEON URI the session is wiped when a customer tries to log in - meaning, login is impossible. I traced this down to init_sessions.php in includes/init_inludes/overrides. The only thing that file does is to force the cookie path to be set to root "/" (Zen Cart resides in "/purchase/" in my case). Apparently that doesn't work, but I have not been able to identify why. What are common reasons that setting cookie path to root fails?
Not sure that this is related to this module.. That said can you start by double checking your install and make sure you have EVERYTHING installed correctly???
Re: Ceon URI Mapping v4.x
I've done the installation twice, both checked out fine. Static URIs are working too. They also appear to work if I delete the init_sessions.php override. I see your point that it probably isn't related to the module - setting cookie path to root could well fail in any case. Do you have ideas what's happening here nevertheless? It might still save somebody else from pulling hair out after installing CEON...
Problem using root as cookie path
The CEON URI Mapping module must use the site root "/" as cookie path to work properly. My Zen Cart resides in "/purchase/". Unfortunately, when setting cookie path to root, customer login doesn't work in my case - the session is simply wiped when attempting login. Writing out session data with file_put_contents() reveals that the session is wiped after calling PHP header() for the redirect after login (/includes/functions/functions_general.php line 46), but before arriving at /purchase/index.php. Not sure how to do further troubleshooting.
Just in case, here are my admin session settings:
Session directory => /path/to/root/purchase/cache
Cookie domain => true
Force cookie use => false
Check SSL session id => false
Check user agent => false
Check IP address => false
Prevent spider sessions => true
Recreate session => true
IP to Host Conversion Status => true
Use root path for cookie path => false (but overridden by CEON module)
Add period prefix to cookie domain => true (setting this to false made no difference)
Any ideas what's causing the session reset and/or suggestions for how to troubleshoot further?
Re: Ceon URI Mapping v4.x
FYI: Moderator split this to its own discussion thread since it appears to be a session issue not directly related to CEON.
Re: Ceon URI Mapping v4.x
Quote:
Originally Posted by
flyvholm
... After installing CEON URI the session is wiped when a customer tries to log in ...
Little late to the party, but do you have multiple stores in the same domain (or just this one)? Are you using a dedicated SSL certificate (or the hosts shared SSL certificate)? Does the same behavior occur with "Force Cookie Use = true"?
Re: Ceon URI Mapping v4.x
Any response appreciated! Just one store on the domain, dedicated SSL certificate. Forcing cookie use brings up a (Zen Cart) page saying that the browser has disabled cookies, meaning the issue persists. It is not Zen Cart destroying the session, it is done by PHP's header() function when redirecting after login. So for some reason PHP is able to store cookies when cookie path is set to "/purchase", but not when it is set to "/". The SSL certificate is for the root.
Re: Ceon URI Mapping v4.x
Have you tried also setting "Use root path for cookie path" to true (to match what you are seeing the CEON module do)?
Re: Ceon URI Mapping v4.x
Yes, setting the cookie path to root in Zen Cart admin does the exact same thing as the CEON override and gives the same result.
Re: Ceon URI Mapping v4.x
By the way, on my local copy of the website hosted with XAMPP I can use root as cookie path without issues. So it may be something server specific.