'PHP 4: Session_start(): Failed to Initialize Storage Module'

I’m migrating a PHP 4 site right now. It makes me realize how far PHP has come in the last few years.

I ran across a weird bug where code was working on our dev server, but not production. I was getting the error:

session_start(): Failed to initialize storage module

We’re using memcache to store our sessions, so it’s a user storage module.

Luckily, I stumbled across this helpful post. [edit: I only checked the page on our production box directly (not going through the load balancer) after I made this change, so it seemed to fix the problem, but the issue was really caused by the fact that I wasn’t defining the custom session handler when it was hit by the LB]

Long story short, make sure you actually have the session directory created, even if you’re not using it. In our case, it was /tmp/sessions. Check your php.ini for “session.save_path.”

To be honest, I’m not sure why it was set up that way, but it was, and it was a pain in the ass to figure out. Nothing like a Fatal Error when you push up your code…

Edit: We actually had an additional issue that I didn’t realize - I had returned out of our custom session handler when it was hit by the load balancer. It wasn’t able to use the user defined session handler (because I never defined it) and had the fatal error as a result.

If you found this post helpful, please consider sharing to your network. I'm also available to help you be successful with your distributed systems! Please reach out if you're interested in working with me, and I'll be happy to schedule a free one-hour consultation.