После некоторой головной боли я понял, что eclipse с использованием кодировки UTF8 (с BOM) вызывает ошибку. Это приводит к добавлению пробелов при использовании включения, в результате чего заголовки веб-страницы отображаются внутри тела в хроме.
т.е. на index.php без пробелов до или после, конечно
<?php include_once('header.php'); ?><body>test</body>
и header.php с (опять же без пробелов, конечно)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test title</title>
</head>
Затем заголовок теста появляется внутри тела (не в исходном коде, а в консоли в хром). Это вызывает пробел в верхней части страницы.
Открытие index.php и header.php в notepad++ и изменение кодировки на UTF8 без спецификации решает проблему. Как исправить это в Eclipse?! Переключение на notepad++ нежелательно, слишком много полезных функций в eclipse (улучшенное автозаполнение, автоматическое управление версиями и т. д.).
Для меня загадка...