Instalación

Para habilitar el soporte para GD configure PHP con --with-gd[=DIR] , donde DIR es el directorio de intalacion base de GD. Para usar la versión de la biblioteca GD incluida recomendada (la cual fue primero incluida en PHP 4.3.0), use la opción de configuración --with-gd . La biblioteca GD requiere libpng y libjpeg para compilarse.

En Windows, incluirá la DLL GD2 php_gd2.dll como una extensión en php.ini. La DLL GD1 php_gd.dll fue eliminada en PHP 4.3.2. Observe también que las funciones preferentes de imágenes de color verdadero, tales como imagecreatetruecolor(), requieren GD2.

Mejore las capacidades de GD para manejar más formatos de imagen especificando la opción de configuración --with-XXXX en la línea de configuración de PHP.

Formatos de imagen soportados
Formato de Imagen Opción de Configuración
jpeg Para habilitar el suporte para jpeg añadir --with-jpeg-dir=DIR . Jpeg 6b, 7 o 8 están soportados.
png Para habilitar el soporte para png añada --with-png-dir=DIR . Nota, libpng requiere la biblioteca zlib, por lo tanto añada --with-zlib-dir[=DIR] a la línea de configuración.
xpm Para habilitar el soporte para xpm añada --with-xpm-dir=DIR . Si la configuración no es capaz de encontrar las bibliotecas requeridas, se puede añadir la ruta a las bibliotecas X11.
webp Para habilitar el soorte para webp añada --with-vpx-dir=DIR . Disponible a partri de PHP 5.5.

Nota: Cuando se compila PHP con libpng, se debe usar la misma versión que fue enlazada con la biblioteca GD.

Mejore las capacidades de GD para tratar con difenrentes fuentes especificando la opción de configuración --with-XXXX en la línea de configuración de PHP.

Bibliotecas de fuentes soportadas
Biblioteca de fuentes Opción de configuración
FreeType 2 Para habilitar el soporte para FreeType 2 añada --with-freetype-dir=DIR .
T1lib Para habilitar el soporte para T1lib (fuentes Postscript Type 1) añada --with-t1lib[=DIR] . (Eliminada a partir de PHP 7.0.0).
Función de cadena TrueType nativa Para habilitar el soporte para la función de cadena TrueType nativa añada --enable-gd-native-ttf .

add a note add a note

User Contributed Notes 19 notes

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

To install under Ubuntu 14.04.
up
18
msc at homofaber dot com
7 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
3
Joseph Marlin
5 years ago
I also had to install the libgd package in addition to php5-gd:

sudo apt-get install libgd2-xpm-dev*
up
3
florian
4 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
2
boly38 at gmail dot com
5 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
3
elassoto at hotmail dot com
5 years ago
If you have already compiled PHP and want to recompile '--with-gd', don't forget to run 'make clean' first!
up
1
mike at clove dot com
8 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
0
Mike K
3 months ago
On Ubuntu I was missing the libpng-dev, libjpeg-dev (and in my case) libwebp-dev libraries, all gettable with apt-get.

Also once those libraries are installed, including --with-png-dir --with-jpeg-dir --with-webp-dir, without any values (i.e. =/dir) appeared to be valid ... though admittedly I didn't try without (in case the configure script autodetected them).
up
0
amenadiel at gmail dot com
1 year ago
While it is true that you can install GD with apt, that version comes without some of the traits of the internal, compiled version.

I noticed that when I tried to call method `imageantialias`

http://php.net/manual/es/function.imageantialias.php
up
0
Patrick
1 year ago
I installes php5-gd by adding

deb http://ftp.de.debian.org/debian sid main

in /etc/apt/sources.list

then
apt-get install php5-gd

then i have troubles for starting apache2 but google find all troubles ...

cd /etc/apache2
mkdir conf.d
changes in apache2.conf :
replace
  LockFile ${APACHE_LOCK_DIR}/accept.lock
by
  Mutex file:${APACHE_LOCK_DIR} default
comment lines  NameVirtualHost (with a #)
a2enmod suexec (correction Suexec....)
a2enmod rewrite (correction erreur dav)
a2enmod dav_fs (correction erreur filesystem)
service apache2 start
up
0
leyluj21 at gmail dot com
1 year 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
-1
alejo dot jm at gmail dot com
4 years ago
On Macox lion with mac port just use:
sudo port install php5-gd
up
-1
octopus at logicaloctopus dot com
5 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
MIguel G
3 years ago
If your are suffering with PHP53 on CentOS and GD,
just
yum install php53-gd
up
-4
Regular Guy
4 years ago
CentOS 6

yum install php-gd

worked, no need to recompile.
up
-3
lucaferr
5 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
-2
kronn
8 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
-5
Larry Kluger
6 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