OK, so, I've been using auto-loaders for a while, become rather used to MVC, and decided to try to tackle namespaces. Well, this hasn't worked as expected. I have managed to reproduce the error in a very simple way, so the contents of my php file read:
<?php
namespace site\test;
echo 'hello';
The output is not what I expected:
Fatal error: Namespace declaration statement has to be the very first statement in the script in file on line 2
I'm running PHP 5.3.10 on a Synology NAS, using the latest version of DSM (Synology's OS). This makes use of Apache v2.2.22. I can confirm that commenting out the "namespace" line returns the word "hello", with no extra characters before it.
There is no BOM at the beginning of the file. I also have no issues with setting headers such as "Location" which would suggest this as being an issue.
Line endings are Unix (\n only) and the character encoding of the file is UTF8.
The PHP setting "auto_prepend_file" is empty.