We have recently had a situation where a user on one of our websites simply could not log in. All other computers worked except his and it was very frustrating to troubleshoot.
What I finally discovered was that he had recently changed his computer clock (to the wrong time). So the PHP session was working perfectly fine, just each time he logged in, the session compared the time to his computer and determined that his session had expired.
In conclusion, if you ever have a situation where you cannot log into a website (and you were able to do so before), please check that your computer clock is accurate as well as confirming your username and password.