it-swarm.com.de

Chrome net :: ERR_INCOMPLETE_CHUNKED_ENCODING Fehler

In den letzten zwei Monaten habe ich die folgende Fehlermeldung in der Entwicklerkonsole von Chrome erhalten:

net::ERR_INCOMPLETE_CHUNKED_ENCODING

Symptome:

  • Seiten werden nicht geladen.
  • Verkürzte CSS- und JS-Dateien.
  • Seiten hängen.

Serverumgebung:

  • Apache 2.2.22
  • PHP
  • Ubuntu

Das passiert mir auf unserem hauseigenen Apache-Server. Es passiert niemandem - d. H. Keiner unserer Benutzer hat dieses Problem - auch niemand in unserem Entwicklerteam.

Andere Benutzer greifen mit derselben Version von Chrome auf denselben Server zu. Ich habe auch versucht, alle Erweiterungen zu deaktivieren und im Inkognito-Modus zu browsen - ohne Wirkung.

Ich habe Firefox verwendet und genau das gleiche passiert. Abgeschnittene Dateien und whatnot. Das einzige Problem ist, dass Firefox keine Konsolenfehler ausgibt. Sie müssen die HTTP-Anforderung über Firebug überprüfen, um das Problem zu sehen.

Antwortheader von Apache:

Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection:close
Content-Encoding:gzip
Content-Type:text/html; charset=utf-8
Date:Mon, 27 Apr 2015 10:52:52 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Pragma:no-cache
Server:Apache/2.2.22 (Ubuntu)
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-Powered-By:PHP/5.3.10-1ubuntu3.8

Beim Testen konnte ich das Problem durch Erzwingen von HTTP 1.0 in meiner htaccess-Datei beheben:

SetEnv downgrade-1.0

Dadurch wird das Problem beseitigt. Das Erzwingen von HTTP 1.0 über HTTP 1.1 ist jedoch keine geeignete Lösung.

Update : Da ich der einzige bin, bei dem dieses Problem aufgetreten ist, dachte ich, dass ich mehr Zeit damit verbringen muss, zu untersuchen, ob es sich um ein clientseitiges Problem handelt. Wenn ich in die Einstellungen von Chrome gehe und die Option "In Standard wiederherstellen" verwende, wird das Problem mitfür 10-20 Minuten ausgeblendet. Dann kehrt es zurück.

94
Wayne Whitty

OK. Ich habe das dreifach getestet und ich bin 100% sicher dass es von meinem Antivirus verursacht wird (ESET NOD32 ANTIVIRUS 5). 

Wenn ich den Echtzeitschutz deaktiviere, wird das Problem nicht mehr angezeigt. Heute habe ich den Echtzeitschutz für 6-7 Stunden deaktiviert, und das Problem ist nie aufgetreten.

Vor ein paar Minuten habe ich es wieder eingeschaltet, nur damit das Problem innerhalb einer Minute auftauchte.

Ich habe in den letzten 24 Stunden den Echtzeitschutz ein- und ausgeschaltet, nur um sicher zu gehen. Jedes Mal - das Ergebnis war das gleiche.

Update: Ich bin einem anderen Entwickler begegnet, der das gleiche Problem mit dem Echtzeitschutz seines Kaspersky-Antivirus hatte. Er hat es deaktiviert und das Problem ist verschwunden. Das Problem scheint sich nicht auf ESET zu beschränken.

64
Wayne Whitty

Der Fehler versucht zu sagen, dass Chrome abgeschnitten wurde, während die Seite gesendet wurde. Ihr Problem versucht herauszufinden warum.

Anscheinend handelt es sich hierbei möglicherweise um ein bekanntes Problem, das sich auf einige Versionen von Chrome auswirkt. Soweit ich das beurteilen kann, ist es ein Problem, dass diese Versionen massiv von der Länge des gesendeten Chunks und der Größe dieses Chunks abhängen (ich könnte weit davon entfernt sein). Kurz gesagt, eine etwas unvollständige Kopfzeile.

Andererseits kann es sein, dass der Server den Datenblock mit der Länge 0 nicht sendet. Was kann mit ob_flush(); behoben werden. Es ist auch möglich, dass Chrome (oder eine Verbindung oder etwas anderes) langsam ist. Wenn die Verbindung geschlossen wird, ist die Seite noch nicht geladen. Ich habe keine Ahnung, warum das passieren könnte.

Hier ist die Antwort der paranoiden Programmierer:

<?php
    // ... your code
    flush();
    ob_flush();
    sleep(2);
    exit(0);
?>

In Ihrem Fall könnte es sich um ein Timeout des Skripts handeln. Ich bin mir nicht wirklich sicher, warum es nur Sie betreffen sollte, aber es könnte zu einer Reihe von Rennbedingungen führen. Das ist eine absolute Vermutung. Sie sollten dies testen können, indem Sie die Ausführungszeit des Skripts verlängern.

<?php
    // ... your while code
    set_time_limit(30);
    // ... more while code
?>

Es kann auch so einfach sein, wie Sie ein Update Ihrer Chrome-Installation benötigen (da dieses Problem Chrome-spezifisch ist).

UPDATE: Ich konnte diesen Fehler (endlich) replizieren, als ein schwerwiegender Fehler ausgegeben wurde, während PHP (auf demselben localhost) Ausgabepufferung war. Ich stelle mir vor, dass die Ausgabe zu schlecht zerfällt, um von Nutzen zu sein (Header, aber wenig oder keinen Inhalt).

Im Einzelnen hatte ich versehentlich meinen Code rekursiv aufgerufen, bis PHP zu Recht aufgab. Der Server hat also das Terminal nicht in 0-Länge gesendet - dies ist das Problem, das ich zuvor identifiziert habe.

Ich hatte dieses Problem. Nachdem ich die meisten anderen Antworten zu dieser Frage ausprobiert hatte, wurde es aufgespürt. Es wurde durch den Besitzer und die Berechtigungen des /var/lib/nginx und insbesondere durch das falsche /var/lib/nginx/tmp-Verzeichnis verursacht. 

Das Verzeichnis tmp wird von fast-cgi zum Zwischenspeichern von Antworten verwendet, wenn sie generiert werden, jedoch nur, wenn sie eine bestimmte Größe überschreiten. Das Problem ist also zeitweilig und tritt nur auf, wenn die generierte Antwort groß ist. 

Überprüfen Sie das nginx <Host_name>.error_log, um zu sehen, ob Sie Berechtigungsprobleme haben.

Stellen Sie zur Behebung sicher, dass der Besitzer und die Gruppe von /var/lib/nginx und allen Unterverzeichnissen nginx ist.

26
SimonAlfie

Folgendes sollte es für jeden Kunden beheben.

//Gather output (if it is not already in a variable, use ob_start() and ob_get_clean() )    

// Before sending output:
header('Content-length: ' . strlen($output));

Aber in meinem Fall war das Folgende eine bessere Option und es wurde auch behoben:

.zugang:

php_value opcache.enable 0
15
twicejr

OMG, ich hatte vor 5 Minuten das gleiche Problem. Ich habe mehrere Stunden gebraucht, um eine Lösung zu finden. Auf den ersten Blick wurde das Deaktivieren des Antivirus-Problems unter Windows behoben. Aber dann bemerkte ich ein Problem auf einem anderen Linux-PC ohne Antivirus. Keine Fehler in Nginx-Protokollen. Meine uwsgi zeigte etwas über "Broken Pipe", aber nicht bei allen Anfragen . Wissen Sie was? Es war kein Speicherplatz auf dem Gerät vorhanden, den ich beim Neustart des Servers im Datenbankprotokoll gefunden hatte, und df hat dies genehmigt. Die einzige Erklärung, warum Antivirus gelöst wurde, ist, dass das Browser-Caching verhindert wird (es sollte jede Anforderung prüfen), aber Browser mit merkwürdigem Verhalten können schlechte Antworten einfach ignorieren und zwischengespeicherte Antworten anzeigen.

6
user3479125

Es ist ein Chrome-Problem bekannt. Laut Chrome und Chromium Bug Tracker gibt es dafür keine universelle Lösung. Dieses Problem hängt nicht mit dem Servertyp und der Serverversion zusammen, sondern ist in Chrome richtig.

Das Setzen des Content-Encoding-Headers auf identity hat dieses Problem für mich gelöst.

von developer.mozilla.org

identität | Gibt die Identitätsfunktion an (d. H. Keine Komprimierung oder __. Änderung).

Ich kann also vorschlagen, dass Chrome die gzip-Komprimierung in einigen Fällen nicht korrekt ausführen kann.

4

In meinem Fall hatte ich /usr/local/var/run/nginx/fastcgi_temp/3/07/0000000073" failed (13: Permission denied), was wahrscheinlich zu dem Chrome net :: ERR_INCOMPLETE_CHUNKED_ENCODING-Fehler führte.

Ich musste /usr/local/var/run/nginx/ entfernen und von Nginx neu erstellen lassen.

$ Sudo rm -rf /usr/local/var/run/nginx/
$ Sudo nginx -s stop
$ Sudo mkdir /usr/local/var/run/nginx/
$ Sudo chown nobody:nobody /usr/local/var/run/nginx/
$ Sudo nginx
3
Pedro Casado

Dies geschah auf zwei verschiedenen Clientservern, die um mehrere Jahre voneinander getrennt waren, und denselben Code verwendet, der ohne Probleme auf dieser Zeit auf Hunderten anderen Servern bereitgestellt wurde.

Bei diesen Clients geschah dies hauptsächlich bei PHP -Skripts, die über Streaming-HTML verfügten, dh "Connection: close" -Seiten, auf denen die Ausgabe an den Browser gesendet wurde, sobald die Ausgabe verfügbar wurde.

Es stellte sich heraus, dass die Verbindung zwischen dem PHP -Prozess und dem Webserver vorzeitig abgebrochen wurde, bevor das Skript abgeschlossen war und noch vor einem Timeout.

Das Problem war opcache.fast_shutdown = 1 in der Hauptdatei php.ini. Diese Anweisung ist standardmäßig deaktiviert, aber einige Serveradministratoren sind der Meinung, dass hier eine Leistungssteigerung zu erwarten ist. Bei allen Tests habe ich mit dieser Einstellung noch nie einen positiven Unterschied festgestellt. Nach meiner Erfahrung haben einige Skripts dazu geführt, dass sie langsamer ausgeführt werden, und es ist eine schreckliche Erfolgsbilanz, dass sie manchmal heruntergefahren werden, während das Skript noch ausgeführt wird, oder sogar am Ende der Ausführung, während der Webserver noch aus dem Puffer liest. Es gibt einen alten Fehlerbericht aus dem Jahr 2013, der bis zum Februar 2017 nicht behoben wurde. Möglicherweise hängt dies zusammen: https://github.com/zendtech/ZendOptimizerPlus/issues/146

Ich habe gesehen, dass die folgenden Fehler auftauchen ERR_INCOMPLETE_CHUNKED_ENCODING ERR_SPDY_PROTOCOL_ERROR Manchmal werden korrelative Segmente protokolliert; manchmal nicht.

Wenn Sie eines davon bemerken, überprüfen Sie Ihre phpinfo und stellen Sie sicher, dass opcache.fast_shutdown deaktiviert ist.

2
Ted Phillips

Die einfachste Lösung besteht darin, das proxy_read_timeout für Ihren festgelegten Proxy-Speicherort in Ihrer nginx.conf auf einen höheren Wert (z. B. 120s) zu erhöhen.

location / {
....
proxy_read_timeout 120s
....
}

Ich habe diese Lösung hier gefunden https://rijulaggarwal.wordpress.com/2018/01/10/atmosphere-long-polling-on-nginx-chunked-encoding-error/

2

Hier war das Problem mein Avast AV . Sobald ich es deaktiviert hatte, war das Problem verschwunden. 

Aber ich würde wirklich gerne die Ursache dieses Verhaltens verstehen. 

2
aemerich

In meinem Fall geschah dies während der Json-Serialisierung einer Web-API-Rückkehrnutzlast. Ich hatte in meinem Entity Framework-Modell eine 'zirkuläre' Referenz. Ich gab ein einfaches 1: 1-Objektdiagramm zurück, aber das Kind hatte eine Referenz die Muttergesellschaft, die der Json Serializer offenbar nicht mag. Das Entfernen der Eigenschaft des untergeordneten Objekts, das das übergeordnete Element referenzierte, führte den Trick aus.

Ich hoffe, das hilft jemandem, der ein ähnliches Problem hat.

1
buzzripper

Ich hatte dieses Problem mit einer Site in Chrome und Firefox. Wenn ich den Avast Web Shield ausgeschaltet habe, ist er weg. Ich habe es anscheinend geschafft, es mit dem laufenden Web Shield zu erreichen, indem ich der htaccess-Datei html5 boilerplate htaccess hinzufügte:

# ------------------------------------------------------------------------------
# | Expires headers (for better cache control)                                 |
# ------------------------------------------------------------------------------

# The following expires headers are set pretty far in the future. If you don't
# control versioning with filename-based cache busting, consider lowering the
# cache time for resources like CSS and JS to something like 1 week.

<IfModule mod_expires.c>

    ExpiresActive on
    ExpiresDefault                                      "access plus 1 month"

  # CSS
    ExpiresByType text/css                              "access plus 1 week"

  # Data interchange
    ExpiresByType application/json                      "access plus 0 seconds"
    ExpiresByType application/xml                       "access plus 0 seconds"
    ExpiresByType text/xml                              "access plus 0 seconds"

  # Favicon (cannot be renamed!)
    ExpiresByType image/x-icon                          "access plus 1 week"

  # HTML components (HTCs)
    ExpiresByType text/x-component                      "access plus 1 month"

  # HTML
    ExpiresByType text/html                             "access plus 0 seconds"

  # JavaScript
    ExpiresByType application/javascript                "access plus 1 week"

  # Manifest files
    ExpiresByType application/x-web-app-manifest+json   "access plus 0 seconds"
    ExpiresByType text/cache-manifest                   "access plus 0 seconds"

  # Media
    ExpiresByType audio/ogg                             "access plus 1 month"
    ExpiresByType image/gif                             "access plus 1 month"
    ExpiresByType image/jpeg                            "access plus 1 month"
    ExpiresByType image/png                             "access plus 1 month"
    ExpiresByType video/mp4                             "access plus 1 month"
    ExpiresByType video/ogg                             "access plus 1 month"
    ExpiresByType video/webm                            "access plus 1 month"

  # Web feeds
    ExpiresByType application/atom+xml                  "access plus 1 hour"
    ExpiresByType application/rss+xml                   "access plus 1 hour"

  # Web fonts
    ExpiresByType application/font-woff                 "access plus 1 month"
    ExpiresByType application/vnd.ms-fontobject         "access plus 1 month"
    ExpiresByType application/x-font-ttf                "access plus 1 month"
    ExpiresByType font/opentype                         "access plus 1 month"
    ExpiresByType image/svg+xml                         "access plus 1 month"

</IfModule>

# ------------------------------------------------------------------------------
# | Compression                                                                |
# ------------------------------------------------------------------------------

<IfModule mod_deflate.c>

    # Force compression for mangled headers.
    # http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping
    <IfModule mod_setenvif.c>
        <IfModule mod_headers.c>
            SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
            RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
        </IfModule>
    </IfModule>

    # Compress all output labeled with one of the following MIME-types
    # (for Apache versions below 2.3.7, you don't need to enable `mod_filter`
    #  and can remove the `<IfModule mod_filter.c>` and `</IfModule>` lines
    #  as `AddOutputFilterByType` is still in the core directives).
    <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE application/atom+xml \
                                      application/javascript \
                                      application/json \
                                      application/rss+xml \
                                      application/vnd.ms-fontobject \
                                      application/x-font-ttf \
                                      application/x-web-app-manifest+json \
                                      application/xhtml+xml \
                                      application/xml \
                                      font/opentype \
                                      image/svg+xml \
                                      image/x-icon \
                                      text/css \
                                      text/html \
                                      text/plain \
                                      text/x-component \
                                      text/xml
    </IfModule>

</IfModule>

# ------------------------------------------------------------------------------
# | Persistent connections                                                     |
# ------------------------------------------------------------------------------

# Allow multiple requests to be sent over the same TCP connection:
# http://httpd.Apache.org/docs/current/en/mod/core.html#keepalive.

# Enable if you serve a lot of static content but, be aware of the
# possible disadvantages!

 <IfModule mod_headers.c>
    Header set Connection Keep-Alive
 </IfModule>
1
Wolfgang

Ich hatte nur ein ähnliches Problem. Und bemerkte, dass dies nur der Fall war, wenn die Seite UTF-8-Zeichen mit einem Ordinalwert von mehr als 255 enthielt (d. H. Multibyte).

Das Problem war schließlich, wie der Content-Length-Header berechnet wurde. Das zugrunde liegende Backend bestand aus der Berechnung der Zeichenlänge und nicht der Bytelänge. Das Deaktivieren von Kopfzeilen mit Inhaltslänge behebte das Problem vorübergehend, bis das Back-End-Vorlagensystem repariert werden konnte.

1
Troy Morehouse

Es tut mir leid zu sagen, ich habe keine genaue Antwort für Sie. Aber ich bin auch auf dieses Problem gestoßen und habe zumindest in meinem Fall einen Weg gefunden. Vielleicht bietet es jemandem, der mehr über Php unter der Haube weiß, einige Hinweise.

Das Szenario ist, ich habe ein Array an eine Funktion übergeben. Der Inhalt dieses Arrays wird verwendet, um einen HTML-String zu erzeugen, der an den Browser zurückgesendet wird, indem er in eine globale Variable eingefügt wird, die später gedruckt wird. (Diese Funktion gibt eigentlich nichts zurück. Sloppy, ich weiß, aber das ist nicht der Punkt.) Innerhalb dieses Arrays befinden sich unter anderem einige Elemente, die als Referenz verschachtelte assoziative Arrays enthalten, die außerhalb dieser Funktion definiert wurden . Durch den Prozess der Eliminierung habe ich festgestellt, dass die Manipulation von Elementen innerhalb dieses Arrays innerhalb dieser Funktion, auf die verwiesen wird oder nicht, einschließlich des Versuchs, diese referenzierten Elemente zu deaktivieren, dazu führt, dass Chrome einen net :: ERR_INCOMPLETE_CHUNKED_ENCODING-Fehler auslöst und keinen Inhalt anzeigt. Dies ist trotz der Tatsache, dass der HTML-String in der globalen Variablen genau das ist, was er sein sollte.

Erst wenn das Skript umgerüstet wurde, um Verweise auf die Array-Elemente überhaupt nicht anzuwenden, funktionierten die Dinge wieder normal. Ich vermute, dass dies tatsächlich ein Php-Fehler ist, der etwas mit dem Vorhandensein der referenzierten Elemente zu tun hat, die die Kopfzeilen der Inhaltslänge abwerfen, aber ich weiß wirklich nicht genug darüber, um es mit Sicherheit zu sagen.

1
Claymore

Ich wollte nur meine Erfahrung mit Ihnen teilen, wenn jemand dasselbe Problem mitMOODLEhat. 

Unsere Moodle-Plattform war plötzlich sehr langsam, das Laden des Dashboards dauerte etwa 2-3 Mal länger (bis zu 6 Sekunden) als gewöhnlich, und ab und zu wurden einige Seiten nicht geladen (kein 404-Fehler, sondern eine leere Seite) ). In der Developer Tools Console wurde folgender Fehler angezeigt: net::ERR_INCOMPLETE_CHUNKED_ENCODING. 

Bei der Suche nach diesem Fehler sieht es so aus, als ob Chrome das Problem ist, aber wir hatten das Problem mit verschiedenen Browsern. Nach stundenlangen Recherchen und Vergleichen der Datenbanken aus den Tagen, bevor ich das Problem schließlich gefunden hatte, schaltete jemand die Ereignisüberwachung ein. Im Protokoll "Config changes" war diese Änderung jedoch nicht sichtbar! Durch das Deaktivieren der Ereignisüberwachung wurde das Problem endgültig gelöst. Für die Ereignisüberwachung wurden keine Regeln definiert. 

Wir betreiben Moodle 3.1.2+ mit MariaDB und PHP 5.4.

1
joelschmid

Als ich auf diesen Fehler stieß (während ich AJAX von Javascript aus anrief); Der Grund war, dass die Antwort des Controllers falsch war. Es wurde ein JSON zurückgegeben, das kein gültiges Format hatte.

1
shailesh p

Mein Fix ist:

<?php  ob_start(); ?>
<!DOCTYPE html>
<html lang="de">
.....
....//your whole code
....
</html>
<?php
        ob_clean();
ob_end_flush();

ob_flush();

?>

Ich hoffe, dass dies in Zukunft jemandem helfen wird, und in meinem Fall ist es eine Kaspersky-Ausgabe, aber der obige Fix funktioniert großartig :) 

1
Web Developer

Dies scheint ein häufiges Problem mit mehreren Ursachen und Lösungen zu sein, daher werde ich hier meine Antwort für jeden geben, der dies erfordert.

Ich bekam net::ERR_INCOMPLETE_CHUNKED_ENCODING für Chrome, osx, php70 und httpd24, aber derselbe Code lief auf dem Produktionsserver einwandfrei.

Ich habe anfangs die regulären Protokolle abgeschnitten, aber es wurde nichts angezeigt. Ein kurzer ls -later zeigte system.log war die zuletzt berührte Datei in /var/log, und es gab eine Endung, die mich anzeigte 

Saved crash report for httpd[99969] version 2.4.16 (805) 
to /Library/Logs/DiagnosticReports/httpd.crash

Enthalten innerhalb:

Process:               httpd [99974]
Path:                  /usr/sbin/httpd
Identifier:            httpd
Version:               2.4.16 (805)
Code Type:             X86-64 (Native)
Parent Process:        httpd [99245]
Responsible:           httpd [99974]
User ID:               70

PlugIn Path:             /usr/local/opt/php70-mongodb/mongodb.so
PlugIn Identifier:       mongodb.so

Ein brew uninstall php70-mongodb und ein httpd -k restart später und alles lief reibungslos.

0
darryn.ten

Überprüfen Sie die Nginx-Ordnerberechtigung und legen Sie die Appache-Berechtigung dafür fest:

chown -R www-data:www-data /var/lib/nginx
0
Mehdi Zamani

Hmmm, ich bin gerade auf ein ähnliches Problem gestoßen, aber aus verschiedenen Gründen ... 

Ich benutze Laravel Valet in einem Vanilla PHP - Projekt mit Laravel Mix . Beim Öffnen der Site in Chrome wurden net::ERR_INCOMPLETE_CHUNKED_ENCODING-Fehler ausgegeben. (Wenn ich die Site über das HTTPS-Protokoll geladen habe, wurde der Fehler in net::ERR_SPDY_PROTOCOL_ERROR geändert.)

Ich habe überprüft, dass php.ini und opcache nicht aktiviert war. Ich habe festgestellt, dass das Problem in meinem Fall mit der Versionierung der Asset-Dateien zusammenhängt - aus irgendeinem Grund schien es in der URL der Assets keine Abfragezeichenfolge zu geben (naja, seltsam genug, nur einer? 

Ich habe mix.version() für die lokale Umgebung entfernt, und die Site wird in Chrome sowohl für HTTP- als auch für HTTPS-Protokolle geladen. 

0

Ich hatte dieses Problem (es wurde ERR_INCOMPLETE_CHUNKED_ENCODING in Chrome angezeigt, nichts in anderen Browsern). Das Problem bestand darin, dass mein Hosting-Anbieter GoDaddy am Ende meiner Ausgabe ein Überwachungsskript hinzufügte. 

https://www.godaddy.com/community/cPanel-Hosting/how-to-remove-additional-quot-monitoring-quot-script-added/td-p/62592

0
cheshirec7

Wenn eine Schleife oder ein Element vorhanden ist, das nicht vorhanden ist, tritt dieses Problem auf.

Wenn Sie die App in Chrome ausführen, ist die Seite leer und reagiert nicht mehr.

Szenario Start:

Entwicklungsumgebung: MAC, STS 3.7.3, Tc Pivotal Server 3.1, Spring MVC Web,

in $ {myObj.getfName ()} 

Ende des Szenarios:

Grund des Problems: Die Funktion getfName () ist nicht für myObj definiert.

Ich hoffe es hilft dir.

0
ArunDhwaj IIITH

Im Rahmen eines Controllers in Drupal 8 (Symfony Framework) hat diese Lösung für mich funktioniert:

$response = new Response($form_markup, 200, array(
  'Cache-Control' => 'no-cache',
));

$content = $response->getContent();
$contentLength = strlen($content);
$response->headers->set('Content-Length', $contentLength);

return $response;

Ansonsten hat der Antwortheader 'Transfer-Encoding' einen Wert 'chunked' erhalten. Dies kann ein Problem für den Chrome-Browser sein. 

0
Hermann Schwarz

Faszinierend zu sehen, wie viele verschiedene Ursachen es für dieses Problem gibt! 

Viele sagen, es sei ein Chrome-Problem, also habe ich Safari ausprobiert und hatte immer noch Probleme. Dann haben alle Lösungen in diesem Thread ausprobiert, einschließlich des Deaktivierens meines AVG Echtzeitschutzes, kein Glück.

Für mich war das Problem meine .htaccess-Datei. Alles, was es enthielt, war FallbackResource index.php, aber als ich es in htaccess.txt umbenannte, wurde mein Problem gelöst.

0
kregus

In meinem Fall war es Ausgabe von HTML. Es gab '\ n' in der Antwort von Json, die das Problem verursachte. Also entfernte ich das.

0
Bunty

Gut. Vor nicht langer Zeit bin ich auch dieser Frage begegnet. Und schließlich bekomme ich die Lösungen, die dieses Problem wirklich angehen.

Meine Problemsymptome sind auch, dass die Seiten nicht geladen werden und die Json-Daten zufällig abgeschnitten wurden.

Hier sind die Lösungen, die ich zusammenfassen könnte, um dieses Problem zu lösen

1.Kill the anti-virus software process
2.Close chrome's Prerendering Instant pages feature
3.Try to close all the apps in your browser
4.Try to define your Content-Length header
  <?php
     header('Content-length: ' . strlen($output));
  ?>
5.Check your nginx fastcgi buffer is right 
6.Check your nginx gzip is open
0
yangzj1992

In meinem Fall war die config für mysqlnd_ms php extension auf dem Server defekt. Komisch ist, dass es bei Anfragen mit kurzer Dauer gut funktioniert hat. Es wurde eine Warnung im Serverfehlerprotokoll angezeigt, daher haben wir es schnell behoben. 

0
Tomasz Swider

Dies tritt im Allgemeinen auf, wenn der Client neben einem clientseitigen Ereignis einen Stoß von Anforderungen an den Server sendet. 

Dies ist im Allgemeinen ein Zeichen für eine "schlechte" Programmierung auf der Clientseite.

Stellen Sie sich vor, ich aktualisiere alle Zeilen einer Tabelle. 

Der schlechte Weg ist das Senden einer Anforderung zum Aktualisieren jeder Zeile (viele Anforderungen in Rafale, ohne auf die Fertigstellung der Anforderung zu warten). Stellen Sie sicher, dass die Anforderung abgeschlossen ist, bevor Sie eine weitere senden.

Der beste Weg wäre, eine Anfrage mit allen aktualisierten Zeilen zu senden. (eine Bitte)

Schauen Sie sich zuerst an, was auf der Client-Seite passiert, und ändern Sie ggf. den Code.

Verwenden Sie Wireshark, um herauszufinden, was bei Anforderungen schief geht. 

0
sancelot

meine Vermutung ist, dass der Server die verschlüsselte Übertragungskodierung nicht korrekt verarbeitet. Es muss ein Chunked-File mit einem Terminal-Chunk koppeln, um anzuzeigen, dass die gesamte Datei übertragen wurde. Daher funktioniert der folgende Code möglicherweise:

echo "\n";
flush();
ob_flush();
exit(0);
0
lawlielt

Ich bekam net::ERR_INCOMPLETE_CHUNKED_ENCODING, bei näherer Betrachtung des Serverfehler-Longs stellte ich fest, dass es auf PHP Skript-Ausführungszeit zurückzuführen war.

Das Hinzufügen dieser Zeile über das Skript PHP löste es für mich:

ini_set('max_execution_time', 300); //300 seconds = 5 minutes

Ref: Schwerwiegender Fehler: Maximale Ausführungszeit von 30 Sekunden überschritten

0
bhu1st