header() работает, но Content-Length не ставит

sverel

Новичок
header() работает, но Content-Length не ставит

В моём скрипте выполняется:

PHP:
<?php
header("Expires: Sun, 1 Jan 2000 12:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Content-type: text/plain");
header("Content-Length: " . (string) $fsize, true);
?>
Столкнулся с таким сервером, на котором в ответе не приходит заголовок "Content-Length". На всех серваках работает отлично, а на этом нет. Все остальные заголовки нормально приходят, а "Content-Length" - вообще отсутствует. С чем это может быть связано?
Может, что-то в httpd.conf или php.ini надо перенастротить?

Apache2.0, php as module 5.2.10
 

FractalizeR

Новичок
У вас там что, на ВСЕХ страницах gzip включен?
HTTP Headers Information -> HTTP Response Headers -> Content-Encoding gzip
 

sverel

Новичок
Не знаю ничего про gzip.
Вполне возможно. Что это вообще, модуль апача? Можно ли в .htaccess его для папки отрубить? Или прямо в php можно обрубить?
 

FractalizeR

Новичок
zlib.output_compression в PHP выключен. Возможно, сжатие активно в апаче.

Добавьте в .htaccess строку (или создайте его с этой строкой):
Код:
mod_gzip_on No
 

sverel

Новичок
пробовал так и так:
php_flag directive 0
php_flag mod_gzip_on 0

Не помогло.
В phpinfo запись "Content-Encoding = gzip " остаётся. Заголовок не посылается :(

Проверил работоспособность .htaccess-а вставив директиву
php_flag display_errors 0 - помогло. В phpinfo значение изменилось. Значит .htaccess воспринимается сервером нормально.
 

FractalizeR

Новичок
В error_log сервера в ответ на Internal Error что пишется? Unknown directive? httpd.conf можете посмотреть? Какие модули апача подключены?
 

sverel

Новичок
[Wed Sep 16 13:41:01 2009] [alert] [client 78.24.154.38] /home/sverel/domains/web-fusion.ru/public_html/.htaccess: Invalid command 'mod_gzip_on', perhaps misspelled or defined by a module not included in the server configuration

Сейчас посмотрю модули апача...

-~{}~ 16.09.09 16:31:

Нашёл httpd.conf, но он почти пуст. Куча Include /extra/httpd-***.conf - всех их облазил, но не нашёл кроме единственного
LoadModule /path/php5.so

Зато кругом стоят
<IfModule ****>
********
</IfModule>

-~{}~ 16.09.09 16:33:

Причем модули реально подключены. Например mod_rewrite отлично ф-ционирует.
 

FractalizeR

Новичок
В общем, трудно говорить дистанционно, что что-то там у вас на хосте сжимает страницы. И, скорее всего, ест Content-Length.
 

sverel

Новичок
спасибо хотя бы за вектор. Буду искать, где отключается Content-Encoding
 
Сверху