Итак, я использовал автозагрузчики какое-то время, привык к MVC и решил попытаться решить пространства имен. Ну, это не сработало, как ожидалось. Мне удалось воспроизвести ошибку очень простым способом, поэтому содержимое моего файла php читается:
<?php namespace site\test; echo 'hello';
Результат не тот, который я ожидал:
Неустранимая ошибка: оператор объявления пространства имен должен быть самым первым в сценарии в файле в строке 2
Я запускаю PHP 5.3.10 на NAS Synology, используя последнюю версию DSM (ОС Synology). Это использует Apache v2.2.22. Я могу подтвердить, что комментирование строки «namespace» возвращает слово «hello», без дополнительных символов перед ним.
В начале файла нет спецификации. У меня также нет проблем с настройкой заголовков, таких как «Местоположение», которые предполагают, что это проблема.
Конечными концами являются Unix (только \ n), а символьная кодировка файла – UTF8.
Параметр PHP «auto_prepend_file» пуст.