Während der PHP -Entwicklung kann der Caching -Mechanismus die Programmleistung effektiv verbessern, aber manchmal müssen wir den Cache debuggen und das Cache -Verhalten anzeigen, um potenzielle Probleme zu ermitteln. PHP bietet mehrere Funktionen, mit denen wir Ausgabepuffer verwalten und debuggen können. Unter ihnen ist OB_LIST_HANDLERS eine sehr nützliche Funktion, die den aktuell aktiven Output -Puffer -Handler auflistet und uns hilft, Cache -Operationen im Programm zu verstehen.
OB_LIST_HANDLERS ist eine PHP-integrierte Funktion, die ein Array zurückgibt, das alle derzeit registrierten Ausgabepuffernamen enthält. Jeder Handler entspricht einem Ausgangspuffer, und PHP ermöglicht es, dass der Ausgang manipuliert wird, indem der Handler bei der Verarbeitungsantwortausgabe registriert wird.
Durch die Debugie dieser Handler können wir bestimmen, wie der Cache funktioniert, ob ein Problem vorhanden ist, dass die zwischengespeicherten Daten nicht korrekt ausgegeben werden oder ob eine unnötige Cache -Verarbeitung vorliegt, die die Leistung der Seite beeinflusst.
Zunächst müssen wir den Ausgangspuffer aktivieren. Normalerweise wird der Ausgangspuffer mit der Funktion OB_Start () gestartet. Danach können Sie OB_END_FLUSH () oder OB_FLUSH () verwenden, um den Pufferinhalt zu verarbeiten.
Verwenden Sie als Nächstes OB_LIST_HANDLERS , um den aktuell aktiven Puffer -Handler anzuzeigen.
<?php
// Starten Sie den Ausgangspuffer
ob_start();
// Einige Inhalte ausgeben
echo "This is a test of the output buffer.";
// verwenden ob_list_handlers Holen Sie sich den aktuellen Ausgangspuffer -Handler
$handlers = ob_list_handlers();
// Den aktuellen Pufferhandler ausgeben
echo "<pre>";
print_r($handlers);
echo "</pre>";
// Ende und Ausgabepufferinhalt
ob_end_flush();
?>
Aktivpuffer aktivieren:
ob_start () startet den Ausgangspuffer. Zu diesem Zeitpunkt wird nicht alle Ausgaben direkt an den Browser gesendet, sondern vorübergehend im Puffer gespeichert.
Ausgabeinhalt:
Echo druckt einen Textstück in den Puffer.
Holen Sie sich und drucken Sie den Ausgangspufferhandler:
OB_LIST_HANDLERS () gibt ein Array zurück, das alle derzeit registrierten Ausgabepufferhandler enthält. Sie können es drucken, um alle aktiven Pufferhandler anzuzeigen.
Beenden und den Puffer ausgeben:
ob_end_flush () beendet den aktuellen Puffer und sendet seinen Inhalt an den Browser.
Angenommen, wir debuggen eine komplexe PHP -Anwendung, und die Ausgangspufferverarbeitung kann unterschiedliche Inhalte enthalten. Zum Beispiel kann es einen komprimierten Ausgangsbehandlungen oder einen zwischengespeicherten Datenhandler geben. Wenn wir OB_LIST_HANDLERS () anrufen, können wir sehen, welche Handler derzeit registriert sind, und prüfen Sie, ob sie wie erwartet funktionieren.
Array
(
[0] => ob_gzhandler
)
Unter der Annahme, dass Ihre Seite langsam geladen wird oder der Cache nicht wie erwartet funktioniert, können Sie über OB_LIST_HANDLERS nach zusätzlichen Ausgangspufferhandlern prüfen. Beispielsweise können einige Komprimierungshandler in unnötigem Inhalt komprimieren und das Laden der Seite beeinflussen.
Wenn wir sehen, dass es mehrere Handler gibt, wie z. B. OB_GZHandler (zum Komprimieren von Inhalten), und dieser Handler ist in einigen Fällen nicht geeignet, um es zu deaktivieren oder sein Verhalten zu debuggen, um festzustellen, ob die Leistung verbessert wird.
Handler anzeigen:
Verwenden Sie OB_LIST_HANDLERS (), um den aktuellen Handler anzuzeigen. Wenn Sie mehrere Komprimierungshandler finden, kann es sein, dass einige Plug-Ins oder Middleware-Komprimierung bei Bedarf aktiviert sind.
Entfernen Sie unnötige Handler:
Verwenden Sie OB_END_CLEAN () oder OB_FLUSH (), um den Puffergehalt manuell zu löschen und unnötige Handler zu entfernen.
Ausgangspuffer optimieren:
Optimieren Sie basierend auf den Debugging -Ergebnissen die Strategie für die Ausgangspuffer im Programm. Deaktivieren Sie beispielsweise unnötige Komprimierungshandler oder geben Sie den Inhalt des Puffer direkt aus.
OB_LIST_HANDLERS ist ein sehr nützliches Instrument zum Debuggen von PHP -Cache -Problemen. Es hilft Entwicklern, den aktuell aktiven Puffer-Handler zu betrachten, um Probleme mit dem Cache-bezogenen Problem zu analysieren und zu lösen. Durch die korrekte Verwendung des Ausgangspuffers können Entwickler die Ladegeschwindigkeit der Seiten verbessern und die Leistungseinflüsse der unnötigen Cache -Verarbeitung vermeiden.
<div style = "Höhe: 20px;"> </div>