![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 12.04.2007 Skąd: Wągrowiec Ostrzeżenie: (0%) ![]() ![]() |
W sumie nie wiedziałem gdzie ten temat napisać gdyż pasuję on do wielu tematów, stwierdziłem że najbardziej dotyczy PHP więc piszę właśnie tutaj.
Wiem, że tematów o kompresji było sporo, jednak nie w tym rzecz. Jak kompresję przeprowadzić wiem, sęk w tym, że z CGI to po prostu nie działa. Od 2 dni próbuję zrobić kompresję plików css/javascript na podstawie .htaccess, czyli prostego DEFLATE. Gdyby PHP było skompilowane jako moduł apache, wszystko było by ok, ale jest jako cgi-bin i przypuszczam że dlatego muszę poszukać innego rozwiązania. O tyle, o ile funkcje jak ob_start('ob_gzhandler') działają, o tyme gzcompress() już nie, tak samo reguły w .htaccess (próbowałem około 23 różnych reguł do kompresji [!]). Za każdym razem dostaję ISE (kod 500). Myślę, że jest coś ważnego o czym nie wiem, jeśli chodzi o kompresję oraz CGI. Mam nadzieję, że ktoś tutaj wie o co chodzi i podzieli się ze mną tą wiedzą ![]() tutaj znalazłem coś takiego: Cytat # uncomment this line to enable site wide gzip to greatly decrease load times # may cause 500 server errors on servers running php in cgi mode #---------------------------------------- GZIP BEGIN ------------------------------------# # php_value output_handler ob_gzhandler #---------------------------------------- GZIP END --------------------------------------# IF THE SERVER IS RUNNING PHP AS CGI THAT LINE MUST REMAIN COMMENTED OUT as php cgi will nor run gzip i also might add that this server is running Suhosin-Patch and if that was installed wrong and or setup wrong that also could be part of your problem. Czyli CGI nie odpali Gzip, dlaczego, i jak to obejść ? Ten post edytował dotangelo 28.07.2009, 20:59:07 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Czyli CGI nie odpali Gzip, dlaczego, i jak to obejść ?
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 12.04.2007 Skąd: Wągrowiec Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem, dziękuję bardzo, to rozjaśnia parę rzeczy.
PHP nie mogę za bardzo przekompilować gdyż jest to zewnętrzny hosting, a kontakt z adminem się urwał - będę musiał zmienić hosting, ale dopiero jak mi wygaśnie. Skoro działa ob_start('ob_gzhandler'), to mogę załączać pliki z użyciem tej funkcji, po prostu napisałbym odpowiedni plik PHP. Jednak są dwie kwestie: -czy za każdym razem kompresować taki plik, czy po prostu zapisać jego "zGZIPowaną" wersję, aby nie obciążać interpretera? -o tyle, o ile działa dla domeny głównej, to dla subdomeny za pieruna nie mogę odpalić tego kodu (ani tego, ani ŻADNEGO kodu PHP). Czy aby odpalić PHP dla subdomeny (http://static.mojastrona.pl/test.php) trzeba mieć jakaś dodatkową konfigurację ? (dodam tylko, że mimo iż subdomena nazywa się static, to nie wykonywałem na niej żadnych dodatkowych czynności jak zmienianie nagłówków czy wyłączanie funkcji). |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat -czy za każdym razem kompresować taki plik, czy po prostu zapisać jego "zGZIPowaną" wersję, aby nie obciążać interpretera? No, dobrze myślisz - oczywiście to drugie. Gdzieś była klasa gotowa do tego, chyba na blogu twórców YUI. Cytat -o tyle, o ile działa dla domeny głównej, to dla subdomeny za pieruna nie mogę odpalić tego kodu (ani tego, ani ŻADNEGO kodu PHP). Czy aby odpalić PHP dla subdomeny (http://static.mojastrona.pl/test.php) trzeba mieć jakaś dodatkową konfigurację ? (dodam tylko, że mimo iż subdomena nazywa się static, to nie wykonywałem na niej żadnych dodatkowych czynności jak zmienianie nagłówków czy wyłączanie funkcji). Powiem tak - to już działka admina. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 12.04.2007 Skąd: Wągrowiec Ostrzeżenie: (0%) ![]() ![]() |
Widzisz, z adminami jest tak:
Cytat (22:29:44) niestety nie znam sie na tego typu rzeczach (22:29:50) do czego to Panu potrzebne (22:37:33) prosze napisac (22:37:37) po angliesku (22:37:38) wiadomośc (22:37:40) ja mu przekaże (22:37:46) przekaże do supportu Dlatego będę musiał opracować hack na hacku ![]() OK, mam rozwiązanie. - Pobieramy gzip.exe - odpalamy w linii komend: Kod gzip.exe -9 style.css - otrzymujemy plik style.css.gz, który wysyłamy na serwer - otwieramy .haccess: - wprowadzamy: Kod AddEncoding gzip .gz <Files *.css.gz> ForceType text/css </Files> <Files *.js.gz> ForceType text/javascript </Files> Nie wiem czy będzie to działało z subdomenami, W kodzie HTML dajemy tylko:
Zalety takiego rozwiązania: - kod nie musi byc kompresowany za każdym razem gdy użytkownik wyśle request (z tego co się orientuję przeglądarka zajmuje się takim kodem, więc nie obciąża serwera) - kod oczywiście zajmuje mniej miejsca (nawet 85% mniej!) Oczywistą wadą jest oczywiście to, że po każdej zmianie pliku css należy powtórzyć kompresję oraz wysłać nowy plik ".gz" na serwer. Rozwiązanie znalazłem tutaj Ten post edytował dotangelo 28.07.2009, 22:41:08 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.06.2025 - 15:18 |