imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 11.05.2005, 12:10     # 1
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
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
__________________
убрано по просьбе администратора
Sheryld вне форума  
Старый 11.05.2005, 12:15     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
А в чём проблема использовать стандартные ф-ии пхп?
RaZEr вне форума  
Старый 11.05.2005, 12:17     # 3
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
Что значит использовать стандартные фун-ии? Я и так использую
__________________
убрано по просьбе администратора
Sheryld вне форума  
Старый 11.05.2005, 12:20     # 4
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
ob_gzhandler
RaZEr вне форума  
Старый 11.05.2005, 12:31     # 5
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
да тоже самое, видимо это полный аналог: ob_gzhandler
__________________
убрано по просьбе администратора
Sheryld вне форума  
Старый 11.05.2005, 12:35     # 6
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Тогда видимо глюк пхп. Используй возможности апача
RaZEr вне форума  
Старый 11.05.2005, 12:45     # 7
AleXXXSoft
Guest
 
Сообщения: n/a

скрипт убивается по таймауту, данные повисают и броузеру не уходят, в броузере в таком случае пустая страница и надпись "Готово."

такое уже было - лечится увеличением времени жизни скрипта, тяжелые страницы на шаред хостинге так работать не будут, ибо лимиты не изменить, выход - не использовать сжатие, ввиду сильной нагрузки на проц.

P.S. либо попробовать сжимать с меньшим коэффициентом компрессии
 
Старый 11.05.2005, 12:50     # 8
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
эээ. да она выполняется довольно быстро

хостинг: собственный сервер(в стойке у хостера). 2 x Xeon и т.д.
__________________
убрано по просьбе администратора
Sheryld вне форума  
Старый 11.05.2005, 12:52     # 9
AleXXXSoft
Guest
 
Сообщения: n/a

Цитата:
Sheryld:
эээ. да она выполняется довольно быстро
засекал?

Цитата:
Sheryld:
хостинг: собственный сервер(в стойке у хостера). 2 x Xeon и т.д.
а set_time_limit(0) не спасает?
 
Старый 11.05.2005, 12:59     # 10
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
оно даже с loclahost-а не работает, остальные страницы вроде работают нормально
__________________
убрано по просьбе администратора
Sheryld вне форума  
Старый 11.05.2005, 13:05     # 11
AleXXXSoft
Guest
 
Сообщения: n/a

ну тогда mod_deflate в руки он и удобнее и настроек много, и скрипты проще будут...

P.S. а почему все-таки не использовать ob_gzhandler?
 
Старый 11.05.2005, 13:19     # 12
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
а при его использовании вообще интересно:

Страницы которые у меня не обрабатывались моей функцией, им игнорируются, т.е. сжатия не происходит(смотрю по логам апачи), на других страницах, аналогично моей функции

или меня уже глючит
__________________
убрано по просьбе администратора
Sheryld вне форума  
Старый 11.05.2005, 13:21     # 13
AleXXXSoft
Guest
 
Сообщения: n/a

оно не глючит, просто есть некоторые ограничения, например слишком маленькие и слишком большие страницы оно не обрабатывает..., да и жмется только тогда, когда броузер попросит в заголовке (Accept-Encoding: чё-то там)
 
Старый 11.05.2005, 13:23     # 14
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
вот поэтому своя функция лучше
т.к. ты всегда знаешь, что она делает.
__________________
убрано по просьбе администратора
Sheryld вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 08:20.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.