session_start() serve per inizializzare la sessione, quindi è ovvio che non funziona session_id() prima di inizializzare la sessione.