¿Comprimiendo contenido con PHP ob_start () vs Apache Deflate / Gzip?

La mayoría de los sitios quieren comprimir su contenido para ahorrar en ancho de banda. Sin embargo, cuando se trata de servidores apache que ejecutan PHP, hay dos formas de hacerlo:con PHP o con apache. Entonces, ¿cuál es más rápido o más fácil en su servidor?

Por ejemplo, en PHP ejecuto la siguiente función al inicio de mis páginas para habilitarla:

/**
 * Gzip compress page output
 * Original function came from wordpress.org
 */
function gzip_compression() {

    //If no encoding was given - then it must not be able to accept gzip pages
    if( empty($_SERVER['HTTP_ACCEPT_ENCODING']) ) { return false; }

    //If zlib is not ALREADY compressing the page - and ob_gzhandler is set
    if (( ini_get('zlib.output_compression') == 'On'
        OR ini_get('zlib.output_compression_level') > 0 )
        OR ini_get('output_handler') == 'ob_gzhandler' ) {
        return false;
    }

    //Else if zlib is loaded start the compression.
    if ( extension_loaded( 'zlib' ) AND (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE) ) {
        ob_start('ob_gzhandler');
    }

}

losotra opción es usar apachedesinflar o gzip (ambos que sonmuy cerca). Para habilitarlos puedes agregar algo como esto a tu archivo .htaccess.

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php

Dado que PHP es un lenguaje de scripting (que debe ser cargado por PHP), asumiría que el método de apache sería 1) más estable y 2) más rápido. Pero las suposiciones no tienen mucho uso en el mundo real.

Después de todo, supondría que con las enormes ventanas de respaldo financiero tiene ...uh, no vamos a ir allí.

Respuestas a la pregunta(1)

Su respuesta a la pregunta