Bei Ihrem Bestreben, eine Verbindung zu einer Webkamera herzustellen und Daten über ein Relay-Skript weiterzuleiten, müssen Sie Ich bin auf ein unerwünschtes Pufferungsproblem gestoßen. Um dieses Hindernis zu beseitigen, befassen wir uns mit den Besonderheiten der Puffermechanismen von PHP und deren potenziellen Auswirkungen auf Ihr Skript.
Die erste Schicht Ihrer Pufferung Sie werden auf den „Ausgabepuffer“ stoßen, der ausschließlich die für den Antworttext bestimmte Ausgabe verwaltet und die Header davon unberührt lässt. Standardmäßig puffert PHP bis zu 4096 Bytes in diesem Puffer und leert ihn, wenn dieser Schwellenwert überschritten wird oder wenn Echo-Anweisungen und ähnliche ausgabegenerierende Aktionen auftreten.
Um dieses Standardverhalten zu überschreiben, können Sie die Ausgabe deaktivieren Puffern Sie die gesamte Pufferung, indem Sie die Anweisung „output_buffering“ in Ihrer php.ini-Datei auf „Aus“ setzen. Alternativ können Sie es für einzelne Skripte deaktivieren, indem Sie ob_end_clean() oder ob_end_flush() frühzeitig aufrufen.
Über die Ausgabe hinaus Puffer ist eine zusätzliche Pufferschicht, die als „Schreibpuffer“ bekannt ist und mit jedem von Ihrem Webserver verwendeten Puffer zusammenarbeitet. Wenn Sie Apache mit mod_php (ohne mod_gzip) verwenden, hilft Ihnen der Aufruf von „flush()“, der die Ausgabe an den Browser weiterleitet. Andere Backends unterstützen dies möglicherweise auch, obwohl das PHP-Handbuch keine Garantien bietet.
Zuletzt haben Sie zwei Möglichkeiten, automatisch auszulösen Flush() ruft nach jeder Ausgabeaktion auf:
Mit diesen Erkenntnissen verfügen Sie über die Mittel, um das Pufferungsproblem anzugehen, das Ihr Relay-Skript plagt, und den Weg für nahtlose Daten zu ebnen Streaming.
Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabepufferung in PHP deaktivieren, um Daten von meiner Webcam zu streamen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!