Page 1 sur 1

utilisation GD2 en ligne de commande

Posté : 08 janv. 2008, 12:03
par d0m
Bonjour,

j'ai un serveur linux RHEL4 avec php4.4.7 installé.
Je l'ai compilé avec ces options :

Code : Tout sélectionner

'./configure' '--with-apxs2=/usr/sbin/apxs' '--with-config-file-path=/etc' '--with-mysql=/usr' '--enable-gd-native-ttf' '--enable-gd-jis-conv' '--with-gd' '--with-zlib-dir' '--with-jpeg-dir' '--with-ttf' '--with-freetype-dir' '--with-oci8=....' '--enable-sigchild'
en faisant un
<?php phpinfo();?>
dans une page j'ai la librairie GD activée

Par contre en utilisant php en ligne de commande, il me met des messages d'erreurs disant qu'il ne trouve pas la librairie libgd.so.

Quelqu'un sait comment faire pour la ligne de commande utilise les mêmes librairies que php par apache?

Posté : 08 janv. 2008, 12:13
par Xenon_54
Quel est l'erreur en question?

L'extension GD ne devrait-elle pas être compilée de manière intégrée dans PHP? (sans .so)

Posté : 08 janv. 2008, 12:19
par Sékiltoyai
Essaye de la charger avec dl().

Posté : 08 janv. 2008, 12:21
par Xenon_54
Ceci retourne quoi?

Code : Tout sélectionner

php -i | grep gd

Posté : 08 janv. 2008, 12:27
par d0m
l'erreur est donc :

Code : Tout sélectionner

# php -i | grep gd Unable to load dynamic library '/usr/lib/php4/libgd.so' - /usr/lib/php4/libgd.so: cannot open shared object file: No such file or directory in Unknown on line 0
Essaye de la charger avec dl().
GD est chargé puisque je l'utilise dans mes pages pour créer des images.
C'est une application qui utilise php en ligne de commande qui n'arrive pas à utiliser GD.

Posté : 08 janv. 2008, 12:50
par Sékiltoyai
Et un "sudo find / -name libgd.so" ?

Posté : 08 janv. 2008, 14:30
par d0m
oui j'ai oublié de préciser, le fichier est bien là :
tout d'abord dans le dossier d'installation de php, normal
mais aussi ici

Code : Tout sélectionner

/usr/local/lib/libgd.so
merci pour votre temps

Posté : 08 janv. 2008, 18:36
par Xenon_54

Code : Tout sélectionner

Unable to load dynamic library '/usr/lib/php4/libgd.so'

Code : Tout sélectionner

/usr/local/lib/libgd.so
/usr/local/lib/libgd.so != /usr/lib/php4/libgd.so

Posté : 09 janv. 2008, 11:46
par d0m
/usr/local/lib/libgd.so != /usr/lib/php4/libgd.so
oui c'est pour cela que justement je cherche le moyen de pouvoir les configurer tous les 2 sur /usr/local/lib/libgd.so, mais je ne vois pas comment faire pour que la commande php utilise ce meme dossier.

Posté : 09 janv. 2008, 11:58
par Nagol
généralement à la compile de php quand un module de php ne trouve pas sa librairie on lui passe un ={prefix} ce qui dans le cas que tu décris doit donner

--with-gd=/usr/local

à vérifier

sinon c'est pas pour troller mais vu que tu compiles ta propre version de php pourquoi mettre du 4 qui n'est plus développé/supporté officiellement par qui que ce soit au lieu d'un tout joli php 5 de dernière version. Ca ne réglerait pas ton problème actuel mais ca éviterait peut etre beaucoup d'autres soucis pour le futur :)

Posté : 09 janv. 2008, 12:48
par d0m
généralement à la compile de php quand un module de php ne trouve pas sa librairie on lui passe un ={prefix} ce qui dans le cas que tu décris doit donner
Le module est trouvé à la compilation, le module GD de php fonctionne très bien pour tout ce qui est application web, mais pas pour php en ligne de commande.
pourquoi mettre du 4 [...] au lieu d'un tout joli php 5
parce que ce n'est pas moi qui décide ça.

Posté : 09 janv. 2008, 15:54
par Xenon_54
PHP tente d'inclure /usr/lib/php4/libgd.so alors que find a trouvé /usr/local/lib/libgd.so

Corrige et réessaie.

Posté : 09 janv. 2008, 21:47
par Nagol
pourquoi mettre du 4 [...] au lieu d'un tout joli php 5
parce que ce n'est pas moi qui décide ça.[/quote]

Tu peux dire de ma part à celui qui décide qu'il devrait démissioner stp?