OVH Cloud OVH Cloud

exec + imagemagick

4 réponses
Avatar
jf tanguy
Bonjour,

je souhaite manipuler des images avec imagemagick (je trouve la
résolution des images déplorable avec GD). je n'arrive pas a faire
fonctionner la commande exec. que dois-je vérifier pour être sur qu'elle
est bien autorisée .

Merci


JF TANGUY

4 réponses

Avatar
P'tit Marcel
Hello,

je souhaite manipuler des images avec imagemagick (je trouve la
résolution des images déplorable avec GD). je n'arrive pas a faire
fonctionner la commande exec. que dois-je vérifier pour être sur qu'elle
est bien autorisée .



phpinfo(); est ton amie.

vérifie :
- que la fonction n'est pas explicitement interdite (disable_functions)
- safe_mode et safe_mode_exec_dir (si oui et vide, exec est inutilisable
comme ses consoeurs)

accessoirement, vérifie que imagemagick est installé et que tu fournis
le chemin d'accès : exec('/truc/bidule/imagemagick ...')

Sur le fond, GD pour le jpeg utilise les mêmes fonctions primaires que
imagemagick : la bilbliotheque libjpeg. Avant d'utiliser imagemagick en
ligne de commande, vérifie que tu utilise les bonnes fonctions de GD,
genre truecolor ou resample. gd_info(); est ton amie.

eça
--
P'tit Marcel
stats sur les forums modérés http://www.centrale-lyon.org/ng/

Avatar
jf tanguy
Hello,

je souhaite manipuler des images avec imagemagick (je trouve la
résolution des images déplorable avec GD). je n'arrive pas a faire
fonctionner la commande exec. que dois-je vérifier pour être sur
qu'elle est bien autorisée .



phpinfo(); est ton amie.

vérifie :
- que la fonction n'est pas explicitement interdite (disable_functions)
- safe_mode et safe_mode_exec_dir (si oui et vide, exec est inutilisable
comme ses consoeurs)

accessoirement, vérifie que imagemagick est installé et que tu fournis
le chemin d'accès : exec('/truc/bidule/imagemagick ...')

Sur le fond, GD pour le jpeg utilise les mêmes fonctions primaires que
imagemagick : la bilbliotheque libjpeg. Avant d'utiliser imagemagick en
ligne de commande, vérifie que tu utilise les bonnes fonctions de GD,
genre truecolor ou resample. gd_info(); est ton amie.

eça


merci des infos.

J'ai bien tous ça; sur une machine ça marche sur l'autre pas ?? je n'y
comprends plus rien ..


Avatar
John GALLET
Bonjour,

je souhaite manipuler des images avec imagemagick (je trouve la
résolution des images déplorable avec GD).


Je ne suis pas certain qu'imagemagick ne soit pas une surcouche de la gd
lib, de mémoire la gd est nécessaire à imagemagick. Mais c'est un autre
débat.

je n'arrive pas a faire fonctionner la commande exec. que dois-je
vérifier pour être sur qu'elle est bien autorisée .
Séparons les problèmes.

D'abord vérifier qu'une commande simple fonctionne, par exemple un ls ou
un script qui fait un touch d'un fichier là où imagemagick devra écrire
les siens.
Ensuite quand ceci fonctionnera, essayer avec imagemagick.

Concernant la différence de comportement entre deux machines :
1) vérifier que les versions sont identiques
2) vérifier que toutes les librairies sont présentes
3) vérifier le mode de résolution au run-time desdites libs
(LD_LIBRARY_PATH, /etc/ld.so.conf et j'en passe et des meilleures).

a++;
JG

Avatar
jf tanguy
Bonjour,

je souhaite manipuler des images avec imagemagick (je trouve la
résolution des images déplorable avec GD).


Je ne suis pas certain qu'imagemagick ne soit pas une surcouche de la gd
lib, de mémoire la gd est nécessaire à imagemagick. Mais c'est un autre
débat.

je n'arrive pas a faire fonctionner la commande exec. que dois-je
vérifier pour être sur qu'elle est bien autorisée .
Séparons les problèmes.

D'abord vérifier qu'une commande simple fonctionne, par exemple un ls ou
un script qui fait un touch d'un fichier là où imagemagick devra écrire
les siens.
Ensuite quand ceci fonctionnera, essayer avec imagemagick.

Concernant la différence de comportement entre deux machines :
1) vérifier que les versions sont identiques
2) vérifier que toutes les librairies sont présentes
3) vérifier le mode de résolution au run-time desdites libs
(LD_LIBRARY_PATH, /etc/ld.so.conf et j'en passe et des meilleures).

a++;
JG



Merci j'ai finalement réussi à faire fonctionner cela correctement.
c'était une histoire de chemins d'accès assez stupide.
Concernant GD, j'y ai bien pensé et avait fait une première version avec
GD mais j'avais des résultat déplorable pour les grosses réduction et il
était beaucoup plus compliqué de traiter beaucoup de types d'images
(gif, tiff etc etc ).
c'est pour cela que je me suis tourné vers imagemagick. j'ai aussi un
petit coup de coeur pour ce programme je l'avoue.

Le résultat est visible ici:http://convoyage.t-yacht.com/fr/technique.php

A +

JF