| imho.ws |
![]() |
|
|
|
# 1 |
|
Full Member
Регистрация: 29.05.2002
Сообщения: 544
![]() ![]() ![]() ![]() ![]() |
Gzip encoded output in php(+)
Собственно проблема в том, что динамические(но не все) страницы(поиск, например) не работают.
Делаю примерно так: $content = $t->get(); //контент из темплейта(html code) $crc = pack('V',crc32($content)); $size = pack('V',strlen($content)); $content = gzcompress($content); //сжимаем $output = "\x1f\x8b\x08\x00\x00\x00\x00\x00"; //заголовок gzip $output .= substr($content, 0, strlen($content) - 4); //«откусываем» последних 4 байта $output .= $crc; //контрольная сумма $output .= $size; //длина Header("Content-Encoding: gzip"); echo $output; exit; Проблема в том, что длина страницы постоянно меняется(даже если она по идее одинаковая должна быть), т.е. проблема видимо кроется в рассинхронизации вызова фун-ий. Т.е. нерпавильно считается длина или записываются не все данные. В следствии чего бразуер выдает либо gzip-контент, либо пустую страницу. С другими страницами все ок(в том числе и динамическими, но менее нагруженными). страница поиска обрабатывает параметры через get, т.е. урлы вида: index.php? action=search&keywords=keywords&searchFilter=onlyTitle&searchType=or
__________________
убрано по просьбе администратора
|
|
|
|
|
# 7 |
|
Guest
Сообщения: n/a
|
скрипт убивается по таймауту, данные повисают и броузеру не уходят, в броузере в таком случае пустая страница и надпись "Готово."
такое уже было - лечится увеличением времени жизни скрипта, тяжелые страницы на шаред хостинге так работать не будут, ибо лимиты не изменить, выход - не использовать сжатие, ввиду сильной нагрузки на проц. P.S. либо попробовать сжимать с меньшим коэффициентом компрессии |
|
|
# 12 |
|
Full Member
Регистрация: 29.05.2002
Сообщения: 544
![]() ![]() ![]() ![]() ![]() |
а при его использовании вообще интересно:
Страницы которые у меня не обрабатывались моей функцией, им игнорируются, т.е. сжатия не происходит(смотрю по логам апачи), на других страницах, аналогично моей функции ![]() или меня уже глючит
__________________
убрано по просьбе администратора
|
|
|