Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erklärung, wie PHP die zurückgegebenen JSON-Daten komprimiert und mit gzip ausgibt
Wie komprimiert und gibt PHP die zurückgegebenen JSON-Daten mit gzip aus? In diesem Artikel wird hauptsächlich die Methode zur Verwendung der GZIP-Komprimierung zur Ausgabe der in PHP zurückgegebenen JSON-Formatdaten vorgestellt. Die Beispielumgebung im Artikel ist ein Linux-System und ein Apache-Server. Ich hoffe, es hilft allen.
1. Vergleich der HTTP-Ausgabe mit und ohne Komprimierung
2. Aktivieren Sie gzip
Verwenden Sie das Apache mod_deflate-Modul, um gzip zu aktivieren
Aktivierungsmethode:
sudo a2enmod deflate sudo /etc/init.d/apache2 restart
Schließmethode:
sudo a2dismod deflate sudo /etc/init.d/apache2 restart
3. Die Einstellungen erfordern die gzip-Komprimierung Der Ausgabetyp
Der Ausgabetyp von JSON ist application/json, daher können Sie ihn wie folgt festlegen:
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE application/json </IfModule>
<?php $data = array( array('name'=>'one','value'=>1), array('name'=>'two','value'=>2), array('name'=>'three','value'=>3), array('name'=>'four','value'=>4), array('name'=>'five','value'=>5), array('name'=>'six','value'=>6), array('name'=>'seven','value'=>7), array('name'=>'eight','value'=>8), array('name'=>'nine','value'=>9), array('name'=>'ten','value'=>10), ); header('content-type:application/json'); echo json_encode($data); ?>Ausgabe vor dem Festlegen von gzip:
4. Einzelne JSON-Ausgabe mit GZIP-Komprimierung
Nach dem Festlegen von AddOutputFilterByType DEFLATE application/json werden alle Datenausgaben im JSON-Format mit GZIP-Komprimierung ausgegeben.Wenn Sie die gzip-Komprimierung nur für einen bestimmten JSON verwenden möchten und die anderen nicht benötigen, können Sie dies mit der Methode ob_start(); erreichen.
<?php ob_start('ob_gzhandler'); $data = array( array('name'=>'one','value'=>1), array('name'=>'two','value'=>2), array('name'=>'three','value'=>3), array('name'=>'four','value'=>4), array('name'=>'five','value'=>5), array('name'=>'six','value'=>6), array('name'=>'seven','value'=>7), array('name'=>'eight','value'=>8), array('name'=>'nine','value'=>9), array('name'=>'ten','value'=>10), ); header('content-type:application/json'); echo json_encode($data); ?>
Verwandte Empfehlungen:
PHP-Array-Traversal-foreach-Syntaxstruktur und Beispiele
Zusammenfassung der PHP-Array-Sortiermethode
Eine kurze Analyse der JSON-Übertragung in PHP und JS
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie PHP die zurückgegebenen JSON-Daten komprimiert und mit gzip ausgibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!