PHP $_SESSION is empty

If you find that your global $_SESSION variable is empty there can be several reasons, here are a few: