Pytanie Błąd 330 (net :: ERR_CONTENT_DECODING_FAILED):


Niedawno przeprowadziliśmy migrację na nowy serwer. Po 2 dniach dostałem następujące problemy

1) Mieliśmy awarię na stole sesji, którą łatwo naprawiliśmy przez jej naprawienie

2) Uruchomiliśmy OpenX jako nasz adserver, a także zawiesił się, ale nie ma dowodów w pliku error.log To pozwala ci się zalogować, ale w momencie wyszukiwania na desce rozdzielczej dostajemy:

Error 330 (net::ERR_CONTENT_DECODING_FAILED): (Google Chrome)

i

Strony, którą próbujesz wyświetlić, nie mogą być wyświetlane, ponieważ używa ona 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ą poprawne:

magic_quotes_runtime musi być wyłączone safe_mode musi być wyłączony register_argc_argv musi być włączony, jeśli chcesz uruchomić konserwację za pomocą wiersza poleceń file_uploads muszą być włączone, aby umożliwić przesyłanie plików HTTP OpenX wymaga następujących rozszerzeń PHP:

Albo mysql rozszerzenie lub pgsql. The mysqli rozszerzenie nie jest obsługiwane. Rozszerzenie ZLib do konwersji linków w skompresowanych plikach Flash generowanych przez Flash MX. Rozszerzenie FTP. Jeśli tego nie ma, OpenX spróbuje go 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ędzie można wyświetlić wykresów ani statystyk na stronie głównej. Do zalogowania się na stronę główną wymagane jest rozszerzenie openssl lub rozszerzenie curl z obsługą SSL. Jeśli protokół SSL nie jest włączony, na stronie głównej pojawi się komunikat o błędzie, ale nie ma to wpływu na operacje.


Każda wskazówka dotycząca możliwych przyczyn lub sposobu zebrania większej ilości informacji zostanie doceniona. Dzięki


76
2017-12-26 11:14


pochodzenie




Odpowiedzi:


Dzieje się tak, gdy nagłówki żądania HTTP twierdzą, że treść jest zakodowana w gzipie, ale tak nie jest. Wyłącz ustawienie kodowania gzip lub upewnij się, że treść jest rzeczywiście zakodowana.


108
2017-12-26 12:02



To naprawiło mój problem, dziękuję. Jestem ciekawy, czy ktoś wie, czy jest to błąd, który można uzyskać, jeśli przeglądarka, której używasz nie obsługuje kompresji gzip? - Lightbulb1
Natknąłem się na ten problem, gdy php wysyłał ostrzeżenie o treści tekstowej powyżej spakowanej zawartości. - Mike Causer
Miałem ten problem, gdy plik ze zwykłym tekstem utknął w pamięci podręcznej Apache, ale przeglądarki spodziewały się spakowania gzipem - Ljudevit
jakikolwiek podpowiedź, jak zrobić któryś z tych dwóch? przepraszam .. całkiem nowy tutaj .. - Zennichimaro
to działało również dla mnie. Dziękuję bardzo! - Razvan


Włączam zlib.output_compression w php.ini i wydawało mi się, że problem został rozwiązany.


41
2018-02-26 14:33



To też zadziałało dla mnie! - Robo Robok
To działało dla mnie - Junaid Qadir Shekhanzai
Działał doskonale również dla mnie! Dzięki! - Jeremy
Pracował też dla mnie. (quercus-4.0.39 + glassfish4 + ręcznie utworzymy web-inf / php.ini. - Malcolm Boekhoff
Pracował też dla mnie! Dzięki! - thinkxl


kody muszą zapisywać UTF8 bez BOM podczas nagrywania. Czasami zdarza się, że zapisywane kody z (Notepad ++) lub innymi narzędziami kodującymi i używają kodowania UTF8. Przepraszam, nie znam angielskiego. To tylko moje doświadczenie.


20
2017-10-02 23:04



+1, bo to był dokładnie problem w moim przypadku - Konservin
+1 To był też mój problem. Musiałem wykonać twardy restart, ponieważ nie udało mi się wystarczająco szybko przejść do Shift Shift :( Wciąż nie wiem, dlaczego plik nie był zakodowany w utf-8 (podniosły tekst 3 kompilacja 3083). Sprawdzone wartości domyślne i to było utf- 8. Może przypadkowo uderzyłem ctrl-s-coś, aby zapisać w innym formacie ... - R_Ice


Ten błąd spowodowany rozszerzeniem modułów buforujących wyjścia (ob_gzhandler). Podczas buforowania wyjściowego użyj przy uruchamianiu ob_start () i kończeniu ob_flush ()

<?php   
    ob_start( 'ob_gzhandler' ); 
    echo json_encode($array);
    ob_end_flush();
?>

Użyj tego:

<?php   
    ob_start(); 
    echo json_encode($array);
    ob_flush();
?>

5
2018-01-05 14:15



To działa świetnie! :-) - jeeva
Działa razem z włączaniem kompilacji zlib.output w php.ini. Przy okazji - [PHP.net] (php.net/manual/en/function.ob-gzhandler.php) zauważa, że ​​użycie kompresji zlib.output jest preferowane w stosunku do ob_gzhandler (). - Kristjan Adojaan


Jeśli chcesz użyć Codeigniter framework następnie po prostu przekształć to w plik konfiguracyjny:

$config['compress_output'] = FALSE;

I w php.ini plik konfiguracyjny, użyj:

zlib.output_compression=On

4
2017-12-23 07:37



Właściwie zmieniając php.ini wartość dyrektywy to poprawka, ponieważ spowoduje to wymuszenie wszystkich danych wyjściowych gzipped. The Codeigniter config ustawi nagłówek i to zależy od serwera aplikacji WWW, aby wymusić to na wyjściu. Próbowałem ustawić $config['compress_output'] = TRUE zachowując zlib.output_compression=On. Ma taki sam efekt. +1 dla kierunku. - codarrior


Czy korzystasz z ob_start(ob_gzhandler) funkcjonować? Jeśli tak, to jeśli wypiszesz dowolną treść powyżej ob_start(ob_gzhandler) funkcja, dostaniesz ten błąd. Nie możesz użyć tej funkcji lub nie wyświetlaj treści powyżej tej funkcji. The ob_gzhandler funkcja wywołania zwrotnego określi, jaki typ kodowania treści akceptuje przeglądarka i odpowiednio zwróci jej wynik. Jeśli więc wyprowadzasz treść powyżej tej funkcji, kodowanie treści może być inne niż wyjściowa treść ob_gzhandleri które powodują ten błąd.


1
2018-06-19 02:23





W przypadku, gdy ktoś wciąż poluje na przyczynę tego nienawistnego problemu, pojawia się rozwiązanie problemu z plikiem powodującym. https://www.drupal.org/node/1622904#comment-10768958 od Drupal społeczność.

I cytuję:

Edytować

includes/bootstrap.inc:

funkcjonować drupal_load(). Jest to krótka funkcja. Znajdź następującą linię: include_once DRUPAL_ROOT . '/' . $filename; Tymczasowo zastąp to przez

ob_start();
include_once DRUPAL_ROOT . '/' . $filename;
$value = ob_get_contents();
ob_end_clean();
if ($value !== '') {
  $filename = check_plain($filename);
  $value = check_plain($value);
  print "File '$filename' produced unforgivable content: '$value'.";
  exit;
}

1
2017-11-09 13:30



Dzięki za to. Pomogło mi to w śledzeniu mojego problemu, miałem niestandardowy moduł drupal, który nie zawierał żadnego kodu. Dodawanie <?phpnaprawione. - Sean Bannister


Włącz kompresję gzip w php.ini:

zlib.output_compression = On

I dodaj to do swojego .htaccess plik:

<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml

  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent
</IfModule>

1
2018-02-10 19:23





Wystąpił ten problem na  Witryna i żadne z innych rozwiązań w tym wątku nie pomogło. Po usunięciu problemów odkryłem, że plik local.settings.php miał znacznik zamykający z spacją po nim:

<?php
$databases = array(
  'default' =>
  array (
    'default' =>
    array (
      'driver' => 'mysql',
      'database' => 'xxx',
      'username' => 'xxx',
      'password' => 'xxx',
      'port' => '',
      'host' => 'xxx',
    ),
  ),
);
?>
 

Aktualizacja local.settings.php do następujących rozwiązanych:

<?php
$databases = array(
  'default' =>
  array (
    'default' =>
    array (
      'driver' => 'mysql',
      'database' => 'xxx',
      'username' => 'xxx',
      'password' => 'xxx',
      'port' => '',
      'host' => 'xxx',
    ),
  ),
);

Zamykanie "?>" Tagu PHP nie jest tutaj konieczne. Jeśli zdecydujesz się użyć znacznika zamykającego, upewnij się, że po nim nie ma żadnych znaków / spacji.


1
2017-07-07 14:51





Ten problem wystąpił również podczas aktualizacji naszego systemu do wersji Revive. Po włączeniu GZIP stwierdziliśmy, że problem nadal występuje. Po dokładniejszym zbadaniu okazało się, że uprawnienia do plików nie są poprawne po aktualizacji. Prosty rekursyjny chmod zrobił lewę.


0
2018-06-19 21:50