[RESOLU] décompresser des fichiers en php

Petit nouveau ! | 2 Messages

25 mai 2016, 12:26

Bonjour à tous,
Pour info, je suis sous linux, mon serveur tourne sous centos 6.7avec :
PHP v5.3.3
apache 2.2

Je vous soumet mon souci, je dois décompresser un fichier au format gz avant de le faire apparaître au format html, mais je n'arrive pas à le décompresser, j'ai le nom utiliser ici apache qui lance le démon /usr/sbin/httpd

voici mon code:

Code : Tout sélectionner

<?php echo exec('whoami'); echo exec('gunzip test.html.gz'); ?>
je vois que l'utilisateur est bien "apache" par contre rien d'autre ne s'affiche, dans je regarde les log j'ai ceci

"gzip: test.html: Permission denied"

c'est un probleme de droit, mais comment faire pour que le user apache puisse lancer la command gunzip ?

merci de votre aide

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

25 mai 2016, 12:37

Bonjour,

As tu vérifié que tu n'avais pas déjà directement la librairie zlib installée avec ton PHP (visible dans phpinfo() )
Si c'est le cas pas besoin de passer par exec, tu as déjà tout ce qu'il faut directement en PHP :
https://secure.php.net/manual/fr/function.gzopen.php


Et sinon, il faut que tu utilises les commandes chmod et chown pour changer les droits des fichiers sous Linux.
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 2 Messages

25 mai 2016, 14:29

Merci,

C'est exactement ce qu'il me fallait, la bibliothèque zlib est installée par défaut sur le serveur

Merci pour le lien @rthur