Sometimes just whitespace before/after the php tags, or some output is being sent before the session_start(). e.g sorta like this:
<html>
<head>
<?php session_start();?>
etc ...
or
<?php
echo "blah";
session_start();?>
?>
Which breaks because the session_start() needs to be before the rest.
So look for where the session_start() is, and see what's before it.