Well, I know it is a very weird idea... but maybe there is something wrong with the VPS's PC time.
If I am not wrong, time() function returns the time of the pc that runs the server, so maybe something is blocking it.
Did you test the script on your server ? If not, give it a try and see the results.
If I am not wrong, time() function returns the time of the pc that runs the server, so maybe something is blocking it.

Did you test the script on your server ? If not, give it a try and see the results.
