Page 1 sur 3
PHP : Comment activer extension GD ?
Posté : sam. 22 avr. 2023 12:41
par Did
Bonjour à toutes et tous,
avant de faire des bêtises, je préfère vous demander....
Je souhaite faire afficher une image en php, qui contiendra du texte.
Dans ma progression, je tombe sur une erreur : mon système ne reconnaît pas certaines fonctions comme :
Call to undefined function imagecreatefromjpeg()
Après divers recherches, notamment ici : /var/log/apache/error.log
je vois que l'extension GD n'est pas installée ou activée.
Une recherche sur le Net, me mène à cette page, sur le forum Mint en anglais :
https://forums.linuxmint.com/viewtopic.php?t=174534
qui résout le problème avec :
had to run this command in the terminal:
sudo apt-get install php5-gd
Mais j'y lis un "php5".... et moi je tourne en php8.1... Est-ce vraiment cette commande que je dois faire, où est-ce qu'il y a mieux ?
Votre conseil svp ? Merci d'avance.

Re: PHP : Comment activer extension GD ?
Posté : sam. 22 avr. 2023 13:49
par Did
Après plusieurs recherches...
je trouve un site qui conseille d'aller voir sur la logithèque, je trouve qu'il y a 2 paquets dispo, mais non installés :
php-gd ("module for php [default]", est-il écrit) et php8.1-gd
Dois-je installer les 2, pour assurer une progression ? ou le dernier 8.1 suffit ?
Je pense avoir résolu mon souci. je dirais que le dernier devrait suffire.
si quelqu'un confirme... et sinon, je lance (là, de la logithèque, je ne risque pas de faire n'importe quoi, puisque c'est proposé par la logithèque justement).
Re: PHP : Comment activer extension GD ?
Posté : sam. 22 avr. 2023 15:49
par Did
Php8.1-gd installé.
Mais la fonction imagecreatefromjpeg() n'est toujours pas reconnue.
D'ailleurs, dans la page avec phpinfo(), l'extension php GD n'est pas activée, je ne trouve pas "GD Support enabled" ou "GD Version ..."
Donc le problème persiste.
Re: PHP : Comment activer extension GD ?
Posté : sam. 22 avr. 2023 19:57
par yoman
Bonjour
Si l'extension GD n'est pas activée malgré l'installation de php8.1-gd, tu dois peut-être activer l'extension manuellement dans le fichier de configuration PHP.
Ouvre le fichier de configuration PHP php.ini. tu peux le trouver en exécutant la commande suivante :
Recherche la ligne ;extension=gd et supprime le point-virgule au début de la ligne pour activer l'extension GD.
Sauvegarde le fichier.
Redémarre Apache pour que les modifications prennent effet :
Après avoir activé l'extension GD dans le fichier de configuration PHP, tu devrais être en mesure d'utiliser la fonction imagecreatefromjpeg() sans problème.
Re: PHP : Comment activer extension GD ?
Posté : sam. 22 avr. 2023 22:46
par Did
Bonsoir,
merci yoman.
J'ai déjà fait ça (enlever le ";") + restart, mais ça ne marche quand même pas.
à préciser qu'avec un phpinfo(), chez moi, le php.ini est ici :
C'est donc ce php.ini que j'ai modifié. (et j'ai aussi modifié l'affichage des erreurs cf
https://openclassrooms.com/fr/courses/9 ... es-erreurs, ce qui fait que je les vois depuis, ça confirme à priori que c'est le bon php.ini à modifier.)
Et j'ai toujours encore une
Code : Tout sélectionner
Fatal error: Uncaught Error: Call to undefined function imagecreatefromjpeg() in /var/www/
en lançant un fichier php dans FF, dont voici le code :
Code : Tout sélectionner
<?php
echo "bla"; //pour tester si le php est lu
$nom_image = "./Img/image.jpeg"; // le nom de votre image avec l'extension jpeg
$texte = "votre texte"; // Le texte que vous désirez écrire sur l'image
//header("Content-type: image/jpeg");
$image = imagecreatefromjpeg($nom_image);
$blanc = imagecolorallocate($image, 255, 255, 255);
imagestring($image, 5, 15, 15,$texte, $blanc);
imagejpeg($image);
Et si j'enlève les"//" devant header, j'ai un écran noir, et un message qui me dit que "l'image ne peut être affichée, car elle contient des erreurs."
(Le //header, c'est pour tester si le fichier php est traité, et faire afficher les erreurs, au cas où.)
Re: PHP : Comment activer extension GD ?
Posté : dim. 23 avr. 2023 07:51
par yoman
Re
Je comprends l'erreur du code, tu as un soucis de Texte sur Image JPEG, et
la sortie de l'image est manquante dans le code :
Essai d'installer quand même :
Ça devrait aussi t'installer quelques dépendances supplémentaires peut-être manquante, et au moins cette piste aura été vue.
Oublie
php5, la résolution en anglais forum de Mint date de 2014
Re: PHP : Comment activer extension GD ?
Posté : dim. 23 avr. 2023 15:27
par Did
Oui, merci Yoman.
Mais c'est ce que j'ai fait déjà hier, en faisant de la logithèque.
Et même pour être sûr de faire "proprement" les choses, j'ai même d'abord désinstallé le paquet php8.1-gd, puis j'ai installé le paquet php-gd qui apparaissait dans la fenêtre de la logithèque, et là, l'installation m'a intégré directement le paquet 8.1 en plus.
En regardant ensuite dans la fenêtre de la logithèque, les 2 paquets sont cochés comme étant installés.
Mais ça ne change pas la réponse : image toujours pas affichée.
Avec un fichier phpinfo(), le GD n'apparaît pas.
Je ne vois pas "GD Support enabled" ou "GD Version..." .
La seule partie qui apparaît, c'est une ligne "GD imaging " avec les "authors" de nommés.
Re: PHP : Comment activer extension GD ?
Posté : dim. 23 avr. 2023 17:08
par yoman
Re
Que te donne la commande :
tu as bien une réponse :
gd
Si c'est présent, tu peux l'activer avec :
petites questions :
- après tes installations de paquets tu relance bien Apache2
- vérifie si tu as libgd-dev
pas simple , ton problème.... (sur opensuse je dois faire un lien symbolique pour activer les modules avec
phpenmod)
Comme je suis aussi sur LMDE, je peux faire quelques tests , mais LMDE, est un peu capricieuse, c'est du Débian , je ne tricote pas trop avec...
Re: PHP : Comment activer extension GD ?
Posté : dim. 23 avr. 2023 17:40
par Did
Bonjour à vous et merci,
Que te donne la commande :
php8.1 -m | grep gd
tu as bien une réponse : gd
(j'ai modifié la commande en mettant php8.1) Oui, gd en rouge.
petite question après tes installations de paquets tu relance bien Apache2
Oui, et de toute façon, pc éteint et rallumé depuis hier.
dpkg -l | grep php[0-9]| grep ^ii | cut -c5-10 | uniq
libapa
php8.1
Et aussi que te retourne
php -i | grep ‘GD’
Rien.
et enfin :
aptitude search php | grep gd
Code : Tout sélectionner
i php-gd - GD module for PHP [default]
v php-gd:i386 -
i A php8.1-gd - GD module for PHP
p php8.1-gd:i386 - GD module for PHP
Re: PHP : Comment activer extension GD ?
Posté : dim. 23 avr. 2023 19:05
par Did
Alors que si tu n'en as qu'une version de php d'installée, ça devrait passer et retourner ta GD. Voir si tu coté d'alternative-update, la config est bonne et que la version 8.1 est bien inscrite comme default
sudo update-alternatives --list php
Réponse du terminal :