Isso normalmente ocorre quando há uma saída não intencional do script antes de você iniciar a sessão. Com seu código atual, você pode tentar usar o buffer de saída para resolvê-lo.
tente adicionar uma chamada ao
ob_start();
função no topo do seu script e ob_end_flush();
bem no final do documento.