I have a commercial website, built on CodeIgniter framework. The cart
controller is used to generate the data of the cart contents,
and load it in one of two views: either a full cart page, or a sidebar within other pages (in that case, the sidecart view is being called into a designated div via ajax).
All of this has been up and functioning well for over a year now. Three days ago, all of a sudden, the cart page stopped working. By "stopped working" I mean no output is being served to the browser.
I am not aware of any changes being made to the code on my website, so I don't even know how to start debugging...
What I did discover is that when I use https to call the cart, it gets served OK. So the problem exists only with http calls (even though up until now I used http calls and all was well).
To make things complicated, if I force https on all calls to the cart controller - the cart page works well, but the sidecart isn't showing at all. If I use http on all calls to the cart function, it's the other way around: the sidecart works well, but the full page doesn't show. I should say I'm using a hook to force/unforce ssl, depending on the uri segment,so I would very much like all calls to mydomain.com/cart to use the same protocol.
Don't know if it's relevant or not, but my SSL certificate was renewed a few days before the problem appeared. The hosting company insists nothing has changed, but I don't know if I can trust them completely.
Also, at the same time the problem started, the following message started appearing in my error_log:
[13-Jul-2015 08:48:16 UTC] PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 72 bytes) in /home/temphao1/public_html/system/core/Loader.php on line 807
line 807 in Loader.php is this: extract($this->_ci_cached_vars);
Any pointers as to how to start debugging this weird issue would be highly appreciated!