Librarie gd2 php

Résolu/Fermé
enyrix - 5 oct. 2011 à 20:14
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 - 6 oct. 2011 à 09:32
Bonjour,
J'ai php5 d'installé sous linux et je souhaite activer la libraire gd2.
Jai essayer d'ajouter dans mon php.ini
extension=/usr/lib/php5/20090626/gd.so
jai aussi essayer extension=gd.so
cela ne fonctionne pas.

J'ai lu qu'on devait recompiler php mais la dernière fois que j'ai fais cela j'ai fais planter pas mal de trucs.

Alors si qqn a une solution pour linstaller manuellement en gardant ma configuration actuelle ?

J'aimerais aussi que vous me disiez si le fait de faire une recompilation et aussi la commande apt-get installer gd2 fait perdre les configurations actuelle, autrement dit si cela reinstalle aussi php a nouveau et non seulement la librairie.

pour info le fichier /etc/php5/apache2/config.d/gd.ini existe et a dedans seulement

; configuration for php GD module
extension=gd.so

Merci pour votre aide
A voir également:

5 réponses

PROBLÈME RÉSOLU

Suite au problème que :
apt-get install gd
qui est déja installé. Cela est la commande pour l'installer, cependant on peut vérifier avec
apt-cache policy php5-gd


J'obtenais l'erreur dans la console avec php -m (pour afficher les modules activés, car via php je n'avait pas de warning):
root [~] > php5 -m 
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/gd.so' - /usr/lib/php5/20090626/gd.so: undefined symbol: gdImageCreateFromJpegCtx in Unknown on line 0


Donc quelques heures (pratiquement la journée) de recherche... Enfin la solution...
Je vais détailler pour les débutants... :P (on apprend toujours de nouvelles commandes et c'est toujours apprécié!)

Note: Rien a modifier dans php.ini qui est dans dans /etc/php5/apache2/php.ini
(donc pas de extension=gd.so) (cela provient je crois du fait que j'avais autrefois installé PHP compilé moi-même, donc a vérifier)

1. Vérifier la version de PHP avec
<? phpinfo(); ?>

2. Vérifier la version de linux en ligne de commande:
uname -a

(dans mon cas il s'agit d'une version debian sur amd de 64bits (important pour avoir les bonnes libraires)
3. Adresse miracle http://www.maxiwebs.co.uk/gd-bundled/ pour aller chercher la librarie gd en version bundle, je crois que cela veut dire en autre quelle a plus de fonctions dont imagecreatetruecolor par exemple
4. Télécharger le fichier .deb (dans mon cas php5-gd_5.3.6-13ubuntu3.1_amd64.deb)
5. Transférer le fichier via sftp avec filezilla sur le serveur par exemple
6. installer automatiquement avec
dpkg --install php5-gd_5.3.8-2_amd64.deb
(remplacer par votre nom de fichier)
7. S'assurer que apache est rechargé, sinon faire
service apache2 restart

8. Vérifier dans avec le phpinfo si la librarie gd est chargé ou bien faire
php5 -m
et regarder dans liste si gd y est ! Et Voilà !
2
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
5 oct. 2011 à 22:40
Ce que je vais dire dépend peut être de la distribution, mais a priori je ne pense pas. Sous debian, de nombreux modules modules php sont fournis par le gestionnaire de paquet dont gd :

(mando@aldur) (~) $ apt-cache search php | grep gd
php5-gd - module GD pour php5

(mando@aldur) (~) $ apt-file list php5-gd
php5-gd: /etc/php5/conf.d/gd.ini
php5-gd: /usr/lib/php5/20090626/gd.so
php5-gd: /usr/share/doc/php5-gd


Comme tu le vois, le paquet ne comporte qu'un .ini (lu au chargement de php, typiquement par apache2) et le .so (le code binaire dans lequel se trouve l'implémentation de gd).

Ainsi la seule chose importe est que php soit rechargé au niveau d'apache (s'il fallait recompiler php à chaque fois qu'on installe un module php, les paquets ne seraient pas fait comme ça !), et a priori le plus simple, c'est de relancer apache. en root ou avec sudo :

service apache2 restart


Bonne chance
0
Merci pour ta réponse, par contre cela ne fonctionne pas encore.

ma version de linux (uname -a) cest Linux debian 2.6.32-5-xen-amd64 et PHP Version 5.3.8-2
le apt-file list ne fonctionne pas, ne semble pas installé

pour info est ce que le gd.so est vraiment la version 2 de la librairie gd, car moi j'ai besoin de gd2 uniquement, et même la gd ne veut pas s'activer. cest ce que je constate avec php -m ou bien dans mon php.ini

avez vous d'autre pistes?

voila un apercu en console de ce que jai fais:

root [~] > service apache2 restart
Restarting web server: apache2 ... waiting .
root [~] > apt-cache search php | grep gd
php5-gd - GD module for php5
root [~] > apt-get install php5-gd
Reading package lists... Done
Building dependency tree
Reading state information... Done
php5-gd is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 623 not upgraded.
root [~] > php -m
...(le module gd n'y est pas)

root [~] > apt-get install php5-gd2
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package php5-gd2

ce que javais vu sur internet mais y semble me manquer une source dans mon source.list...
0
Je crois que mon problème se précise.
La librairie serait déja installé mais php refuse de l'activer en raison d'une erreur.

Lorsque je fait la commande php5 -m pour afficher les modules activés de PHP, j'ai un warning comme suit:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/gd.so' - /usr/lib/php5/20090626/gd.so: undefined symbol: gdImageCreateFromJpegCtx in Unknown on line 0

Quelqu'un a une idée en quoi consisterait le problème, s'agit t-il un problème de path?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
6 oct. 2011 à 09:32
Merci pour ces précisions.

* Par rapport à apt-file, comme à chaque fois qu'il te manque une commande, c'est qu'il te manque un paquet. En l'occurrence :

aptitude update
aptitude safe-upgrade
aptitude install apt-file


Comme indiqué à la fin de l'installation d'apt-file, il faut lancer :

apt-file update


Et voilà, apt-file est près.

* Par rapport à gd je ne comprends pas trop pourquoi le paquet php5-gd_5.3.8-2_amd64.deb n'est pas celui que tu récupère avec la commande :

aptitude install php5-gd


Ton erreur (undefined symbol) laisse penser que ce paquet est mal construit ou incomplet, donc peut être qu'il y a une remontée de bug à faire (il faudrait vérifier si d'autres personnes ont eu le même problème que toi)...

Bonne chance
0