# Problème compression à l'envoi, mod\_deflate et php-fpm

**URL:** <https://www.debian-fr.org/t/probleme-compression-a-lenvoi-mod-deflate-et-php-fpm/81724>\
**Category:** Programmation\
**Created:** [Avril 8, 2020, 9:19 UTC](https://www.debian-fr.org/t/probleme-compression-a-lenvoi-mod-deflate-et-php-fpm/81724 "2020-04-08T09:19:40Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![xdoomer01](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/x/91b2a8/32.png) [@xdoomer01](https://www.debian-fr.org/u/xdoomer01)\
**Post date:** [Avril 8, 2020, 9:19 UTC](https://www.debian-fr.org/t/probleme-compression-a-lenvoi-mod-deflate-et-php-fpm/81724/1 "2020-04-08T09:19:41Z")

</div>

Bonjour,

J’ai un problème étrange qui se produit lors de l’activation de la compression à l’envoi.

J’ai activer la compression à l’envoi dans mod\_deflate d’apache dans le fichier

```nohighlight
/etc/apache2/mods-enabled/deflate.conf

```

en ajoutant la directive `SetInputFilter DEFLATE`

Ce qui permet d’envoyer des requête HTTP dont le corps est compressé au serveur, et c’est le serveur qui s’occupe de la décompression automatiquement si dans l’entête HTTP et présent content-encoding : gzip

Ma requête HTTP est la suivante :

Entête envoyer en clair :

```nohighlight
ContentType : "multipart/form-data; boundary=--c45c2453c1f4423dbfd4059e7dad8fbf"
Accept : "application/json"
accept-encoding="gzip" // Pour signaler que je veux la réponse au format compressé
"content-encoding"="gzip" // Pour signaler que la requête http est compressé à l'envoi

```

Corps envoyé compressé au serveur:

```nohighlight
<RC>--c45c2453c1f4423dbfd4059e7dad8fbf<RC>Content-disposition: form-data;name=param1<RC><RC>val1<RC>--c45c2453c1f4423dbfd4059e7dad8fbf<RC>Content-disposition: form-data;name=param2<RC><RC>val2<RC>--c45c2453c1f4423dbfd4059e7dad8fbf<RC>Content-disposition: form-data;name=param3<RC><RC>val3<RC>--c45c2453c1f4423dbfd4059e7dad8fbf--<RC>

```

Je dois donc récupérer trois variables post coté php : `param1:val1`, `param2:val2`,`param3:val3`

Coté serveur j’ai un simple script php qui fait un `var_dump($_POST)`

Le problème c’est que l’envoi de la requête compressé, s’effectue bien, mais je n’ai que la première variable post dans le résultat c’est à dire `param1:val1` !

Ou sont les 2 autres variables ???

J’ai donc effectué plusieurs tests dans des VM :

- Test avec ubuntu server 19.10, avec apache 2.4.41, php-fpm 7.3 : **problème** -\> param1:val1

- Test avec ubuntu server 19.10, avec apache 2.4.41, mod\_php 7.3 : **cela fonctionne** -\> param1:val1, param2:val2,param3:val3

- Test avec debian 10.3, avec apache 2.4.38, php-fpm 7.3 : **problème** -\> param1:val1

- Test avec debian 10.3, avec apache 2.4.38, mod\_php 7.3 : **cela fonctionne** -\> param1:val1, param2:val2,param3:val3

Pourquoi en php-fpm je n’ai qu’une seule variable POST ???

Est ce un bug ???

Merci pour votre aide !
