Installation

To enable GD-support configure PHP --with-gd[=DIR], where DIR is the GD base install directory. To use the recommended bundled version of the GD library, use the configure option --with-gd. GD library requires libpng and libjpeg to compile. As of PHP 7.4.0, --with-gd becomes --enable-gd (whether to enable the extension at all) and --with-external-gd (to opt into using an external libgd, rather than the bundled one).

In Windows, you'll include the GD DLL php_gd.dll as an extension in php.ini. Prior to PHP 8.0.0, the DLL was named php_gd2.dll.

Enhance the capabilities of GD to handle more image formats by specifying the --with-XXXX configure switch to your PHP configure line.

Supported image formats
Image Format Configure Switch
avif To enable support for avif add --with-avif. Available as of PHP 8.1.0.
jpeg To enable support for jpeg add --with-jpeg-dir=DIR. Jpeg 6b, 7 or 8 are supported. As of PHP 7.4.0, use --with-jpeg instead.
png To enable support for png add --with-png-dir=DIR. Note, libpng requires the zlib library, therefore add --with-zlib-dir[=DIR] to your configure line. As of PHP 7.4.0, --with-png-dir and --with-zlib-dir have been removed. libpng and zlib are required.
xpm To enable support for xpm add --with-xpm-dir=DIR. If configure is not able to find the required libraries, you may add the path to your X11 libraries. As of PHP 7.4.0, use --with-xpm instead.
webp To enable support for webp add --with-webp-dir=DIR. As of PHP 7.4.0, use --with-webp instead.

Note: When compiling PHP with libpng, you must use the same version that was linked with the GD library.

Enhance the capabilities of GD to deal with different fonts by specifying the --with-XXXX configure switch to your PHP configure line.

Supported font libraries
Font library Configure Switch
FreeType 2 To enable support for FreeType 2 add --with-freetype-dir=DIR. As of PHP 7.4.0 use --with-freetype instead, which relies on pkg-config.
Native TrueType string function To enable support for native TrueType string function add --enable-gd-native-ttf. (This option has no effect and has been removed as of PHP 7.2.0.)
add a note

User Contributed Notes 18 notes

up
6
msc at homofaber dot com
15 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
4
Qussayyon Qamaron: Qusai.zf2@gmailcom
7 years ago
#install under Ubuntu 16.04:
* if you have access to PHP7.1:
<sudo> apt install php7.1-gd && <sudo> systemctl restart apache2
* if you have access to PHP7.0:
<sudo> apt install php7.0-gd && <sudo> systemctl restart apache2

------------------------------------------------
Qussayyon Qamaron: Qusai.zf2gmailcom
up
5
james dot a dot munsch at gmail dot com
9 years ago
sudo apt-get install php5-gd && sudo service apache2 restart

To install under Ubuntu 14.04.
up
4
florian
13 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
3
Anonymous
7 years ago
For all who use php 7 and ubuntu

sudo apt-get install php7.0-gd
up
1
fabrizzio at webtux dot cl
5 years ago
php --version if result is 7.2 version

sudo apt-get install php7.2-gd
up
0
abdulbasitsaeed
5 years ago
To install PHP GD extension on an Amazon Linux AMI server, with php 7:

sudo yum install php 70-gd

Do remember to restart Apache after the installation!

sudo service httpd restart
up
0
Joseph Marlin
13 years ago
I also had to install the libgd package in addition to php5-gd:

sudo apt-get install libgd2-xpm-dev*
up
-1
Mike K
8 years 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
-1
boly38 at gmail dot com
13 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
-2
Parmjit Singh
3 years ago
Installation on Pop-os No need for php5 or php7.0 etc:

sudo apt install php-gd
up
-2
leyluj21 at gmail dot com
9 years 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
-3
tecknovice at gmail dot com
4 years ago
currently is php7.2-gd

sudo apt install php7.2-gd
up
-3
octopus at logicaloctopus dot com
13 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
-5
elassoto at hotmail dot com
13 years ago
If you have already compiled PHP and want to recompile '--with-gd', don't forget to run 'make clean' first!
up
-4
remalsha at gmail dot com
6 years ago
On AntergosOS ( Arch linux )

*first run >>php -v and get current php version. In my case for PHP 7.1.14

sudo pacman -S php71-gd

then restart you apache server using,

sudo systemctl restart httpd
up
-3
oskari at cellarcode dot com
1 year ago
Note if you have php-fpm installed, you have to restart the service for the installation to show up in phpinfo output...

systemctl restart php-fpm (or equivalent)
To Top