Don't see it right off. I notice the file is not UTF8. Are you certain you are uploading the file in ascii mode and not binary?
Somehow, the file is outputting information before the document declaration more than once. That is what that error means. Usually it is in an included file, or in the code, but uploading in binary or improperly encoded pages can also cause this.
Ensure the method you are using to upload the file and you can also try removing all gaps between the php tags. You can do this in two ways.
(No line break)
... ALL OF THE CODE ...
In either case, do the same for the document declaration:
?><!DOCTYPE html PUBLIC ...
If the latter fixes the problem, you should not have to do that every time, so it is something in how your pages are being generated.
If you run a test server on your own computer for testing and the problem does not occur there, but occurs on upload, it is usually some other file that is not the same as on your computer, encoding, or upload method.