SunshinePHP Developer Conference 2015

Installation

Pour activer le support de GD, vous devez compiler PHP avec l'option --with-gd[=DIR] , où DIR est le dossier d'installation de GD. Il est recommandé d'utiliser la version de GD qui est distribuée avec PHP, en utilisant simplement l'option --with-gd . La bibliothèque GD requiert libpng et libjpeg pour compiler.

Sous Windows, vous devez inclure la bibliothèque php_gd2.dll comme extension dans le fichier php.ini. La bibliothèque php_gd.dll a été supprimée de PHP 4.3.2. Notez aussi que les fonctions conseillées truecolor, comme imagecreatetruecolor(), requièrent GD2.

Augmentez les possibilités des GD de gérer d'autres formats d'images en spécifiant les options --with-XXXX de compilation suivantes :

Formats d'image supportés
Format d'image Option de compilation
jpeg Pour activer le support de la bibliothèque JPEG, ajouter l'option --with-jpeg-dir=DIR . Jpeg 6b, 7 ou 8 est supporté.
png Pour activer le support de la bibliothèque PNG, ajouter l'option --with-png-dir=DIR . Notez que libpng requiert la bibliothèque zlib et, donc, il vous faudra ajouter aussi --with-zlib-dir[=DIR] dans votre ligne de compilation.
xpm Pour activer le support de la bibliothèque XPM, ajoutez l'option --with-xpm-dir=DIR . Si le script de compilation n'est pas capable de trouver les bibliothèques nécessaires, il vous faudra ajouter le chemin vers les bibliothèques X11.

Note: Lorsque vous compilez PHP avec libpng, vous devez utiliser la même version que celle liée à la bibliothèque GD.

Augmentez les possibilités de GD pour qu'elle manipule différents types de polices de caractères en ajoutant les options --with-XXXX de compilation suivantes :

Bibliothèques des polices de caractères supportées
Bibliothèque Option de configuration
FreeType 2 Pour activer le support de FreeType 2, ajoutez l'option --with-freetype-dir=DIR .
T1lib Pour activer le support de T1lib (Postscript Type 1 fonts), ajoutez l'option --with-t1lib[=DIR] .
Chaînes TrueType Pour activer le support des chaînes de caractères TrueType, ajoutez l'option --enable-gd-native-ttf .

add a note add a note

User Contributed Notes 20 notes

up
13
msc at homofaber dot com
5 years ago
It should be noted that it might be pretty easy to install gd without the need to recompile php, when using debian:

apt-get install php5-gd
up
1
james dot a dot munsch at gmail dot com
1 month ago
sudo apt-get install php5-gd && sudo service apache2 restart

To install under Ubuntu 14.04.
up
3
elassoto at hotmail dot com
4 years ago
If you have already compiled PHP and want to recompile '--with-gd', don't forget to run 'make clean' first!
up
1
ben at bluehype dot com dot au
5 years ago
If you have already compiled php without jpeg support and decide you want it , then before you compile again you might need to run "make clean" first.
up
2
mike at clove dot com
6 years ago
jpeg [jpg] file processing doesn't work unless you build php with '--with-jpeg-dir=<path to jpeg library>'.

It still doesn't work unless <path to jpeg library> points to the directory holding the directory holding the library unless libjpeg.<whatever> is in either /usr/lib or /usr/local/lib. For instance, on a mac with libjpeg.a installed via mac ports, you need '/opt/local' rather than '/opt/local/lib'
up
1
Joseph Marlin
3 years ago
I also had to install the libgd package in addition to php5-gd:

sudo apt-get install libgd2-xpm-dev*
up
1
boly38 at gmail dot com
3 years ago
To get GD bundled under Ubuntu, the way to recompile php5 with gd is described here (french) http://doc.ubuntu-fr.org/modules_php#php5-gd
up
1
lucaferr
3 years ago
In Slackware 64bit (I tested 13.1) you need to make symlinks to libpng and libjpeg if you want to compile php with GD, even if you've already installed them, otherwise configure will give you a "libpng not found" error, even if you set --with-libdir=/usr/lib64 (it seems to have no effects at all). So, run these before configuring:
ln -s /usr/lib64/libjpeg.so /usr/lib/libjpeg.so
ln -s /usr/lib64/libpng.so /usr/lib/libpngp.so
up
1
octopus at logicaloctopus dot com
3 years ago
I was running PHP on a SUSE box on amazon EC2.
to get gd to work all I had to do was to run:
> yast -i php5_gd

and when that completed I just restarted apache. voila!
up
1
Regular Guy
2 years ago
CentOS 6

yum install php-gd

worked, no need to recompile.
up
0
leyluj21 at gmail dot com
1 day ago
If you are using PHPBREW , the extension is called gd.
So you do.
```
phpbrew ext install gd
```

It will compile the extension to the core.
up
0
RB
1 month ago
Ubuntu 14.04

apt-get install php5-gd
service apache2 restart

Fixed my Joomla / Kunena install for my LAMP-server.
up
0
florian
3 years ago
People having difficulties setting the --with-libdir option needs to set it like this :

--with-libdir=lib64

That option works fine. Doing --with-libdir=/usr/lib64 doesn't work because the configure script prepends the --prefix option before the --with-libdir option. So, doing --with-libdir=/usr/lib64 makes the configure script to look for libs in /usr/usr/lib64, which is wrong of course, and not in /usr/lib64.
up
0
gerard at charlesconsulting dot com
6 years ago
On my system,I had to ensure I had not only libpng and libjpeg, but also the libpng-devel and libjpeg-devel packages installed.
up
0
kronn
6 years ago
Everytime I try to install the gd-lib as a dynamic extension, I run into the same problem: It wont work.

I get the following error:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/pkg/lib/php/20040412/gd.so' - dlopen(/usr/pkg/lib/php/20040412/gd.so, 9): Symbol not found: __cg_jpeg_resync_to_restart\n  Referenced from: /System/Library/Frameworks/ApplicationServices. framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO\n  Expected in: /usr/pkg/lib/libjpeg.62.dylib\n in Unknown on line 0

I use pkgsrc for software package managment on my mac, as may be apparent from the paths.

The solution is, to edit the file /usr/pkg/sbin/envvars and remove or comment the DYLD_LIBRARY_PATH because it is causing the error...
up
-2
PHP Compiler
10 months ago
To all smart-willys who come here to tell us you installed GD with package management: No one cares if you used packages management to install GD. This is for people who compile from source.
up
-1
MIguel G
1 year ago
If your are suffering with PHP53 on CentOS and GD,
just
yum install php53-gd
up
-3
alejo dot jm at gmail dot com
2 years ago
On Macox lion with mac port just use:
sudo port install php5-gd
up
-3
drummerpatch at gmail dot com
2 years ago
Running a Debian Squeeze server, all I had to do to add support for GD to my Apache server was simply run `apt-get install php5-gd` and then restart Apache. No recompiling or reconfiguring or anything. Simple!
up
-2
Larry Kluger
4 years ago
On 64bit centos, needed to create links from lib64 to lib. Php seems to insist on looking in lib, even with "with-jpeg-dir" config.

Eg

ln -s /usr/lib64/libjpeg.so.62.0.0  /usr/lib/libjpeg.so
ln -s /usr/lib64/libpng.so.3.10.0  /usr/lib/libpng.so

./configure  \
  --with-config-file-path=/etc \
  --prefix=/usr \
  --with-bz2 \
  --enable-zip \
  --enable-mbstring \
  --with-apxs2=/usr/sbin/apxs \
  --with-zlib-dir=/usr/include \
  --with-libxml-dir=/usr/lib64 \
  --with-mcrypt=/usr/lib64 \
  --with-mysql \
  --with-gd \
  --with-jpeg-dir=/usr \
  --with-png-dir=/usr \
  --enable-calendar
To Top