Niedawno przeprowadziliśmy migrację na nowy serwer. Po 2 dniach pojawiły się następujące problemy
1) Wystąpiła awaria na stole sesyjnym, którą łatwo naprawiliśmy
2) Uruchamiamy OpenX jako nasz serwer reklamowy, który również się zawiesił, ale nie ma dowodów na błąd.log Pozwala się zalogować, ale w momencie przeglądania dashboard.php otrzymujemy:
Error 330 (net::ERR_CONTENT_DECODING_FAILED): (Google Chrome)
i
Strona, którą próbujesz wyświetlić, nie może zostać wyświetlona, ponieważ używa nieprawidłowej lub nieobsługiwanej formy kompresji. (Firefox)
OpenX korzysta z następujących usług w PHP:
OpenX wymaga: http://www.openx.com/docs/2.8/adminguide/System%20requirements
OpenX używa domyślnych ustawień PHP. Jednak administratorzy serwerów czasami zmieniają te ustawienia. Przed zainstalowaniem OpenX sprawdź, czy następujące ustawienia są prawidłowe:
magic_quotes_runtime musi być wyłączone safe_mode musi być wyłączone register_argc_argv musi być włączone, jeśli chcesz uruchomić konserwację za pomocą wiersza poleceń file_uploads musi być włączone, aby umożliwić przesyłanie plików HTTP OpenX wymaga następujących rozszerzeń PHP:
Albo mysql
rozszerzenie lub pgsql
. mysqli
Rozszerzenie nie jest obsługiwany. Rozszerzenie ZLib do konwersji linków w skompresowanych plikach Flash generowanych przez Flash MX
. Rozszerzenie FTP. Jeśli tego nie ma, OpenX spróbuje to zasymulować, co może być mniej stabilnym rozwiązaniem.
Rozszerzenie GD do generowania wykresów na stronie głównej. Jeśli rozszerzenie nie jest włączone, nie będziesz mógł przeglądać wykresów ani statystyk na swojej stronie głównej. Aby zalogować się na stronie głównej, wymagane jest rozszerzenie openssl lub rozszerzenie curl z obsługą SSL. Jeśli SSL nie jest włączony, na stronie głównej pojawi się komunikat o błędzie, ale nie ma to wpływu na operacje.
Wszelkie wskazówki dotyczące możliwych powodów lub sposobu gromadzenia większej ilości informacji będą bardzo mile widziane. Dzięki
Włączyłem
zlib.output_compression
sięphp.ini
i wydawało się rozwiązać ten problem dla mnie.źródło
kody muszą zapisywać UTF8 bez BOM podczas nagrywania. Czasami podczas pisania kodów za pomocą (Notepad ++) lub innych narzędzi do kodowania i używania kodowania UTF8 występuje ten błąd. Przepraszam, nie znam angielskiego. To tylko moje doświadczenie.
źródło
Ten błąd spowodowany jest dodaniem rozszerzenia modułów buforujących wyjście (ob_gzhandler). Podczas buforowania wyjścia użyj przy uruchamianiu ob_start () i kończeniu ob_flush ()
Użyj tego:
źródło
Jeśli chcesz używać
Codeigniter
frameworka, po prostu umieść to w pliku konfiguracyjnym:W
php.ini
pliku konfiguracyjnym użyj:źródło
gzipped
.Codeigniter
Config będzie ustawić nagłówek i to do serwera aplikacji WWW, aby wymusić na wyjściu. Próbowałem ustawić$config['compress_output'] = TRUE
, zachowujączlib.output_compression=On
. Ma ten sam efekt. +1 za kierunek.Czy używasz tej
ob_start(ob_gzhandler)
funkcji? Jeśli tak, i jeśli wypiszesz jakąkolwiek zawartość powyżejob_start(ob_gzhandler)
funkcji, otrzymasz ten błąd. Nie możesz używać tej funkcji lub nie wyświetlać zawartości powyżej tej funkcji. Funkcjaob_gzhandler
wywołania zwrotnego określi, jaki typ kodowania treści zaakceptuje przeglądarka i odpowiednio zwróci wynik. Więc jeśli wyprowadzasz zawartość powyżej tej funkcji, kodowanie zawartości może różnić się od zawartości wyjściowejob_gzhandler
i to powoduje ten błąd.źródło
Na wypadek, gdyby ktoś nadal szukał przyczyny tego nienawistnego problemu, pojawia się rozwiązanie, które pozwoli naprawić plik. https://www.drupal.org/node/1622904#comment-10768958 ze
Drupal
społeczności.I cytuję:
Edytować
includes/bootstrap.inc:
funkcji
drupal_load()
. To krótka funkcja. Znajdź następujący wiersz:include_once DRUPAL_ROOT . '/' . $filename;
tymczasowo zastąp go przezźródło
<?php
naprawiło to.Jeszcze jeden pomysł dla każdego, kto to dostanie ...
Miałem plik svg spakowany gzipem, ale w danych wyjściowych pojawił się błąd php, który spowodował ten komunikat o błędzie. (Ponieważ w środku pliku binarnego gzip znajdował się tekst). Naprawienie błędu php rozwiązało problem.
źródło
zlib.output_compression
właśnie dało mi przeglądarkę pełną śmieciowych znaków.Włącz kompresję gzip w php.ini :
I dodaj to do swojego pliku .htaccess :
źródło
Miałem ten problem na drupalsite i żadne inne rozwiązania w tym wątku nie pomogły. Po rozwiązaniu problemu stwierdziłem, że plik local.settings.php ma zamykający znacznik ze spacją po nim:
Rozwiązano aktualizację local.settings.php do następującego:
Zamykający tag PHP „?>” Nie jest tu potrzebny. Jeśli zdecydujesz się użyć tagu zamykającego, upewnij się, że po nim nie ma żadnych znaków ani spacji.
źródło
Tego ranka miałem trochę atrapy, kiedy zdałem sobie sprawę, co spowodowało ten problem.
Dziwne jest to, że żądanie kończyło się niepowodzeniem zarówno w przeglądarce Firefox, jak i Chrome, ale działało, gdy próbowałem uzyskać dostęp przez Fiddler Web Debugger.
Dla mnie problem polegał na tym, że błędnie wpisałem znak w jednym z plików PHP w projekcie. Nie zauważyłem tego, dopóki nie sprawdziłem Git pod kątem zmian w projekcie.
W moim przypadku miałem:
m<?php runMyProgram(); ?>
.Kiedy wymazałem m, znowu zaczęło działać.
źródło
W moim przypadku stało się to podczas dodawania nowej aplikacji do IIS, która wymagała proxy z Apache.
Musiałem zestawu
ProxyHTMLEnable On
doProxyHTMLEnable Off
dostać się do zawartości. (Wygląda na to, że większość kodu js spowodowała błąd, ale to dało mi przynajmniej coś do pracy).IIS wysyła zawartość strony
Content-Encoding: gzip
źródło
Mieliśmy również ten problem podczas aktualizacji naszego systemu do Revive. Po wyłączeniu GZIP okazało się, że problem nadal występuje. Po dalszych badaniach stwierdziliśmy, że uprawnienia do plików po aktualizacji nie są poprawne. Prosty rekurencyjny chmod załatwił sprawę.
źródło
Występuje zły błąd Java, który powoduje to: https://bugs.java.com/view_bug.do?bug_id=JDK-8189789
źródło
O wiele bardziej powszechną odpowiedzią jest to, że masz jakiś błąd, który jest dołączany do jakiejkolwiek kompresji. Rozwiązaniem jest ustawienie
display_errors = Off
w pliku php.ini (sprawdź w swoim terminalu, czy jest włączony, uruchamiającphp --info
i poszukaj "display_errors")Że należy to zrobić. Jak odkryjesz, jakie błędy tak naprawdę jesteś? Sprawdź dzienniki błędów PHP za każdym razem, gdy trafisz na tę trasę / stronę.
Powodzenia!
źródło