OVH Cloud OVH Cloud

soucis fonctions gz

4 réponses
Avatar
Bob l'eponge
Bonjour,

Je tente d'extraire des archives de type *.gz en utilisant dans un
premier temps la fonction gzopen. Rien à y faire, aucun moyen d'ouvrir
une quelconque archive (pourtant toutes valides, parfaitement
décompressées avec une commande gunzip sous linux).
En fait si le fichier n'est pas existant, la commande gzopen me renvoie
un message explicite correspondant, idem si les droits du fichier ne
sont pas suffisants pour être ouvert. Par contre si tout est ok, je
reçois systématiquement une erreur du type : "Warning: gzopen(): gzopen
failed in <mon fichier>" sans autre précision.
Zlib semble correctement installé.
Je sèche complet, quelqu'un aurait une piste ?

4 réponses

Avatar
P'tit Marcel
Bob l'eponge wrote:
Je tente d'extraire des archives de type *.gz en utilisant dans un
premier temps la fonction gzopen. Rien à y faire, aucun moyen d'ouvrir
une quelconque archive (pourtant toutes valides, parfaitement
décompressées avec une commande gunzip sous linux).
Zlib semble correctement installé.
Je sèche complet, quelqu'un aurait une piste ?


1/ est-ce que tu es sûr du paramètre passé à gzopen (genre faute de
frappe) ?
Avant le gzopen($fichier), est-ce que tu as précisément codé un
if(!file_exists($fichier) or !is_readable($fichier)) die('je suis une
buse'); ?

2/ Est-ce que la constante FORCE_GZIP est définie ? est-ce que
gzcompress fonctionne ? si un non, problème d'installation de zLib

3/ Est-ce que tu peux écrire des fichiers avec gzopen et gzwrite ?
si non, alors problème d'installation de zLib.
si oui, est-ce que tu peux relire ce fichier avec gzopen ? si oui, alors
problème de conformité de ton archive. si non, problème d'installation
de zLib

4/ Est-ce que readgzfile fonctionne ? Est-ce que fopen(zlib://...)
fonctionne ? si un oui, problème résolu

5/ Quelle versions de php et zLib et d'OS, est-ce que php a été compilé
avec --with-zlib=repertoire_de_zlib, quel est ce répertoire, que est
l'âge du capitaine, etc.

eça
--
P'tit Marcel

Avatar
Bob l'eponge

1/ est-ce que tu es sûr du paramètre passé à gzopen (genre faute de
frappe) ?
Avant le gzopen($fichier), est-ce que tu as précisément codé un
if(!file_exists($fichier) or !is_readable($fichier)) die('je suis une
buse'); ?


J'aurais presque aimé être une buse pour le coup, mais non.

2/ Est-ce que la constante FORCE_GZIP est définie ? est-ce que
gzcompress fonctionne ? si un non, problème d'installation de zLib


FORCE_GZIP & FORCE_DEFLATE sont définies
gzcompress fonctionne

3/ Est-ce que tu peux écrire des fichiers avec gzopen et gzwrite ?
si non, alors problème d'installation de zLib.


C'est là ce que ça devient un peu étrange : gzopen me renvoie un warning
(gzopen failed) alors qu'un fichier vide est créé.
Par contre impossible de faire quoi que ce soit suer ce fichier avec gzwrite

si oui, est-ce que tu peux relire ce fichier avec gzopen ? si oui, alors
problème de conformité de ton archive. si non, problème d'installation
de zLib


impossible de relire le fichier vide créé
zlib semble en cause mais je trouve ça vraiment bizarre

4/ Est-ce que readgzfile fonctionne ? Est-ce que fopen(zlib://...)
fonctionne ? si un oui, problème résolu


readgzfile ne renvoie rien (ni false, ni taille... aucune erreur)
fopen(zlib://) me répond "failed to open stream: Error 0"

5/ Quelle versions de php et zLib et d'OS, est-ce que php a été compilé
avec --with-zlib=repertoire_de_zlib, quel est ce répertoire, que est
l'âge du capitaine, etc.


SunOS 5.9
php 4.3.8
zlib 1.1.4

J'ai pas la main sur le bouzin, mais il conviendrait de réinstaller zlib
à ton avis ?

Avatar
P'tit Marcel
Bob l'eponge wrote:>
C'est là ce que ça devient un peu étrange : gzopen me renvoie un warning
(gzopen failed) alors qu'un fichier vide est créé.
Par contre impossible de faire quoi que ce soit suer ce fichier avec
gzwrite


:-(


J'ai pas la main sur le bouzin, mais il conviendrait de réinstaller zlib
à ton avis ?


Je n'utilise pas les fonctions zLib ni SunOS donc je n'ai pas trop
d'idée supplémentaire.

Juste deux idées : regarde s'il n'y a pas un message plus explicite dans
la log, et sinon teste si zlib fonctionne hors de php (exemple de
programme C à compiler : www.gzip.org/zlib/zpipe.c)

si le programme C marche, alors il devrait suffire de relinker php et
zlib, sinon il faudrait peut-être commencer par réinstaller zLib, mais
dans ce cas tu devrais plutôt questionner sur fciw.serveurs...

--
P'tit Marcel

Avatar
Bob l'eponge

J'ai pas la main sur le bouzin, mais il conviendrait de réinstaller
zlib à ton avis ?



Je n'utilise pas les fonctions zLib ni SunOS donc je n'ai pas trop
d'idée supplémentaire.

Juste deux idées : regarde s'il n'y a pas un message plus explicite dans
la log, et sinon teste si zlib fonctionne hors de php (exemple de
programme C à compiler : www.gzip.org/zlib/zpipe.c)

si le programme C marche, alors il devrait suffire de relinker php et
zlib, sinon il faudrait peut-être commencer par réinstaller zLib, mais
dans ce cas tu devrais plutôt questionner sur fciw.serveurs...


Je butte un peu niveau compétences là, mais je vais bien trouver à m'en
sortir
Merci en tout cas