Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2005
    Messages : 825
    Points : 931
    Points
    931

    Par défaut [ZLib] Activation dynamique de la compression

    Nouvelle question sur le sujet :

    Cas 1 : dans php.ini : zlib.output_compression = 1.

    test.php v1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "<html><head></head><body>";
    for( $i = 0; $i < 10000; ++ $i ) echo "Ligne $i pour tester la charge<br/>";
    echo "</body></html>";
    sortie HTML : 26 ko (369 ko si output_compression est à 0), OK.

    test.php v2 : on annule la compression au début du script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ini_set("zlib.output_compression", "0");
    [...]
    sortie HTML : 369 ko, OK.

    Cas 2 : dans php.ini : zlib.output_compression = 0.
    [+reboot serveur]

    test.php v3 : on active la compression au début du script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ini_set("zlib.output_compression", "1");
    [...]
    sortie HTML : 369 ko...
    Idem si j'utilise "On" ou "true" au lieu de "1".
    Je ne comprends pas pourquoi il est possible de désactiver la compression mais pas de l'activer...

  2. #2
    Membre éprouvé Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    décembre 2005
    Messages
    1 338
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : décembre 2005
    Messages : 1 338
    Points : 1 287
    Points
    1 287

    Par défaut

    salut,
    dans les commentaires sur la page zlib du manuel php, il y a écrit :
    You can't enable zlib.output_compression via ini_set(). You have to use php.ini.
    et aussi
    if you don't set this via php.ini or Apache configuration it's a no-go. I have to use ob_start("ob_gzhandler"); instead.
    Tu peux essayer avec cette proposition.

    Je crois que ça peut aussi fonctionner via un .htaccess

  3. #3
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2005
    Messages : 825
    Points : 931
    Points
    931

    Par défaut

    En effet, ob_start()/ob_end_flush() font l'affaire.

  4. #4
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2005
    Messages : 825
    Points : 931
    Points
    931

    Par défaut

    ... font l'affaire sous Apache... Par contre, la solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function initOutputFilter() {
      ob_start('ob_gzhandler');
      register_shutdown_function('ob_end_flush');
    }
    initOutputFilter();
    n'a pas l'air d'être du goût de IIS. Il ne compresse rien du tout et j'ai une erreur js sur des appels Ajax... Pfff... Vivement la retraite...

    [edit : ha non, en commentant l'entrée zlib.output_compression_level, au lieu de la mettre à vide ou à 0, ça marche...]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2000] Activer dynamiquement un champ de formulaire
    Par pierro38 dans le forum IHM
    Réponses: 3
    Dernier message: 08/09/2011, 13h14
  2. activer dynamiquement un radio en fonction du checkbox
    Par bullrot dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 10/11/2008, 12h21
  3. Activation dynamique d'un compte en php
    Par beaf05 dans le forum PHP & MySQL
    Réponses: 1
    Dernier message: 07/10/2008, 10h43
  4. Réponses: 5
    Dernier message: 30/10/2007, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo