Возможный дубликат:
Заголовки, уже отправленные PHP
У меня есть один php-файл с этим кодом:
<?php header("Location: somepage.php"); ?>
Абсолютно нет пробелов до или после открытия или закрытия тегов php, и я получаю
Warning: Cannot modify header information - headers already sent by (output started at C:\ ... \test.php:1
Обычно, когда я получаю эту ошибку, 1 является номером строки проблемы, но в этом случае строка 1 не имеет лишних пробелов. У меня только этот код на странице, и я не включаю никаких других файлов.
Я использую xampp для windows xp. Любые идеи о том, что происходит или как я могу отследить, что действительно вызывает проблему.
благодаря
Скорее всего, у вас есть то, что известно как спецификация (Byte Order Mark) в файле. В зависимости от того, какой редактор вы используете, вам нужно отключить добавление спецификации …
Попробуйте скопировать / вставить свой контент в другой новый файл с помощью Блокнота
Попробуйте использовать WAMP, он не показывает эту ошибку, убедитесь, что у вас есть пробелы до или после кода. Для этого, если вы используете notepad ++ или editplus, перейдите в формат и выберите форматирование unix, и все должно работать нормально.
ИЛИ
попробуйте разместить это в верхней части страницы:
<? ob_start(); ?>
затем в нижней части страницы разместите эту строку кода:
<? ob_flush(); ?>
Если вы уверены, что это не спецификация, вызывающая ошибку, проверьте ваши httpd.conf и любые файлы .htaccess, если они добавят другие файлы. Посмотрите на что-то вроде этого:
<FilesMatch "\.(html?)$"> php_value auto_prepend_file /server/path/to/my/www_root/subdir/file.ext" </FilesMatch>
Также проверьте свой PHP.ini: http://de.php.net/manual/en/ini.core.php#ini.auto-prepend-file