В заголовке HTTP Content-Length слишком много байтов - PullRequest
0 голосов
/ 03 мая 2011

Я пишу (PHP) скрипт, который обслуживает файлы для клиента.Среди прочего, отправляется заголовок Content-Length, только у него слишком много байтов.Я обнаружил это, поместив длину содержимого в другой заголовок, и сравнил их:

$filesize = filesize($file);
header('Content-Length: ' . $filesize);
header('X-Content-Length: ' . $filesize);

Результат:

Content-Length: 3481
X-Content-Length: 3480

Даже при жестком кодировании 3480 в header() функция, это результат.Я подозреваю, что Apache делает это с моими заголовками.

Что может быть причиной этого?

Редактировать: Чтобы дать некоторый контекст: я думаю, что Zend Framework вызывает это: Я рефакторинг кода, который в настоящее времяв производстве (и в работе) до ZF, где возникает проблема.Когда я пытаюсь этот код за пределами ZF, все хорошо.Возможно, ZF выполняет буферизацию вывода и пересылает заголовки самостоятельно или что-то в этом роде, но я не очень хорошо знаю ZF.

1 Ответ

0 голосов
/ 03 мая 2011

Это был не Apache, а пробел перед открытым тегом PHP в сочетании с буферизацией вывода.

...