≡ Menu

Ubuntu Linux: Install or Add PHP-GD Support To Apache Web Server

I am using an Apache web server and PHP 5 server-side scripting language to produce dynamic web pages for our corporate website. How do I install install php gd support on an Apache/PHP5 for dynamically manipulating images under Ubuntu Linux LTS?

PHP is used mainly in server-side application software along with various addons.

Tutorial details
DifficultyEasy (rss)
Root privilegesYes
Estimated completion time5m
PHP includes a large number of free and open source libraries with the core build. PHP is a fundamentally Internet-aware system with modules built in for accessing FTP servers, many database servers, embedded SQL libraries such as embedded MySQL and SQLite, LDAP servers, and others. Many functions familiar to C programmers such as those in the stdio family are available in the standard PHP build.

The GD Graphics Library for dynamically manipulating images. You will need to compile PHP with the GD library of image functions for this to work. However. Ubuntu (and Debian) Linux comes with the package called php5-gd. Just type the following command to install this module:
# apt-get install php5-gd
$ sudo apt-get install php5-gd

Sample outputs (from my Debian server)

apt-get install php5-gd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
Suggested packages:
The following packages will be REMOVED:
The following NEW packages will be installed:
  libgd2-xpm php5-gd
0 upgraded, 2 newly installed, 1 to remove and 7 not upgraded.
Need to get 270 kB of archives.
After this operation, 176 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://debian.osuosl.org/debian/ squeeze/main libgd2-xpm amd64 2.0.36~rc1~dfsg-5 [231 kB]
Get:2 http://security.debian.org/ squeeze/updates/main php5-gd amd64 5.3.3-7+squeeze9 [39.1 kB]
Fetched 270 kB in 2s (124 kB/s)
dpkg: libgd2-noxpm: dependency problems, but removing anyway as you requested:
 libgvc5 depends on libgd2-noxpm (>= 2.0.36~rc1~dfsg) | libgd2-xpm (>= 2.0.36~rc1~dfsg); however:
  Package libgd2-noxpm is to be removed.
  Package libgd2-xpm is not installed.
(Reading database ... 206928 files and directories currently installed.)
Removing libgd2-noxpm ...
Selecting previously deselected package libgd2-xpm.
(Reading database ... 206919 files and directories currently installed.)
Unpacking libgd2-xpm (from .../libgd2-xpm_2.0.36~rc1~dfsg-5_amd64.deb) ...
Setting up libgd2-xpm (2.0.36~rc1~dfsg-5) ...
Selecting previously deselected package php5-gd.
(Reading database ... 206930 files and directories currently installed.)
Unpacking php5-gd (from .../php5-gd_5.3.3-7+squeeze9_amd64.deb) ...
Processing triggers for libapache2-mod-php5 ...
Reloading web server config: apache2.
Setting up php5-gd (5.3.3-7+squeeze9) ...

Finally, restart the Apache 2 web server, enter:
# /etc/init.d/apache2 restart
Now, you can test your php application.

How do I verify that php5-gd support loaded or not?

Type the following command at a shell prompt:
$ php5 -m | grep -i gd
Sample outputs:


$ php5 -i | grep -i --color gd
$ php -i | grep -i --color gd
Sample outputs:

Additional .ini files parsed => /etc/php5/cli/conf.d/gd.ini,
GD Support => enabled
GD Version => 2.0
gd.jpeg_ignore_warning => 0 => 0
XAUTHORITY => /var/run/gdm3/auth-for-vivek-ruJHl1/database
_SERVER["XAUTHORITY"] => /var/run/gdm3/auth-for-vivek-ruJHl1/database

You can also use the following php code. Create a file called test.php and put in your web server directory i.e. Apache DocumentRoot (such as /var/www):


Run it as follows:
Look for GD extension.

Tweet itFacebook itGoogle+ itPDF itFound an error/typo on this page?

{ 53 comments… add one }

  • Heroin February 7, 2007, 11:46 am

    Thanks didnt really understand what GD was and which package it was. Apt-cache search gave me a load of weird packages. So i thank you!

    Perhaps it would be nice if there was a line you can run to see if its running properly

  • nixCraft February 7, 2007, 3:15 pm


    You can type php -m command to see php-gd support is loaded or not at a shell prompt:
    php -m

    You can also create a php code with phpinfo() function and see if GD is loaded or not :)


  • Eric February 14, 2007, 8:22 am

    That’s great, it solves my problem in my new server. Good stuff.

  • zaf April 4, 2007, 7:26 am

    when running in a browser it only shows the code, but doesn’t show the php information.
    Can anyone please help me solving this problem.

    • RamdomInternetGuy July 18, 2014, 1:06 am

      install PHP5

      apt-get install php5 libapache2-mod-php5

      • Anonymous December 5, 2014, 7:47 am

        He was probably waiting for an answer for the last 7 years xD

  • zaf April 4, 2007, 10:36 am

    I have a problem running php files in a browser; I tried a test.php with but it only shows the code lines in the browser with no PHP information.
    I would really appreicate you help.

  • cruz July 4, 2007, 3:29 pm

    Hi, I want to install GD library, I want use it with PHP

    I tried:

    sudo apt-get install php5-gd

    but i get following error message

    E: couldn´t find package php5-gd

    Apache is working, my soft versions are:
    SO ubuntu 7.07
    PHP Version 5.2.1
    Apache/2.2.3 (Ubuntu)

    what can I do?


  • nixCraft July 5, 2007, 12:26 pm

    You need to use php5-gd only, try apt-get update first.

  • wilco July 17, 2007, 9:25 pm

    When I apt-get install php5-gd the response is ‘Please insert the disc labeled ‘Ubuntu-Server 6.06.1 _Dapper Drake_ – Release i386’.
    But I am working remote, what can I do to solve this issue??

  • nixCraft July 17, 2007, 9:47 pm

    You need to force apt-get to run via network by editing /etc/apt/sources.list file. Comment out CDROM entry.

  • wilco July 17, 2007, 10:08 pm


    Thanks that did the job!
    I had to apt-get update first and after that it worked like a charme!
    Thanx again

  • Tharange November 9, 2007, 8:08 am

    Thanks, My prob Solved.

  • Newbie2 November 10, 2007, 9:46 pm

    I have a standard linux box from theplanet.com (formerly ev1servers.net formerly rackshack.net) and they generally use Redhat Pro as the OS..

    I found the easiest way to install PHP GD on the servers from “the planet” was to use the command:

    yum install php-gd

    Do it from the root dir via SSH (using the program called “putty”) and it all happens very fast. Restart the server and check if your page apps run correctly.

    Thats about as simple as I can explain it for any other newbies that don’t understand linux like myself.

    hope this is helpful.

  • Mark December 5, 2007, 3:49 pm

    Hi all,

    I’m running a Joomla install on a virtual Jumpbox. I’ve tried running the above but it doesn’t seem to help.

    Has anyone experience of getting this to work on the Jumpbox platform?

    Cheers, MARK.

  • xer February 28, 2008, 10:02 am

    thank you =)

  • ihya April 26, 2008, 6:58 am

    thank you

  • Peter Martin August 26, 2008, 9:20 am

    When I tried to install some 3rd party extension in my Joomla 1.5 website (hosted on my local Ubuntu PC) I got the error that GD2 was missing.

    With your instruction I was able to install GD2 successfully. I reinstalled the Joomla Extension and now it’s able to resize images!


  • fixsmall October 22, 2008, 7:48 pm

    I test my gd but it doesn’t support xbm ,how could i do ?

    when I wanna use phpXplorer it show me could not find “PHP GD XBM Support”
    thank you !

    You need either PHP GD extension or Image Magick for image manipulation.
    PHP GD extension found 2.0 or higher
    PHP GD FreeType Support exists
    PHP GD T1Lib Support exists
    PHP GD GIF Read Support exists
    PHP GD GIF Create Support exists
    PHP GD JPG Support exists
    PHP GD PNG Support exists
    PHP GD WBMP Support exists
    PHP GD XBM Support not found

  • Webdesign Amsterdam April 9, 2009, 1:52 pm

    Thanks! Never thought i could solve this problem this fast.

  • Matteo Terruzzi July 1, 2009, 5:30 pm

    Thank you very much, you have resolved all my problems!

  • Webdesign Rotterdam July 13, 2009, 11:16 am

    Thank you very much, you have resolved all my problems! Never thought i could solve this problem this fast.

  • berkmense October 30, 2009, 10:40 am

    i am using Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch .i am not able to download GD ..Please help me..

  • tanks December 23, 2009, 11:35 am

    thank you very very much!

  • manuel February 8, 2010, 8:26 am

    you are #1 in google for this search, so I’m goingo to thankyou to keep it this way.

  • Roy July 11, 2010, 6:32 pm

    Thanks for such simple instructions!

  • Pablito Zamudio July 18, 2010, 1:55 pm

    In the installation of php5-gd, do not include T1Lib in the GUI option–include only TrueType.

  • Hemma August 2, 2010, 8:43 am

    how to install php GD in ubuntu linux? This is for resize the thumbnail images. Thank You

  • g August 19, 2010, 6:09 am

    Nice information ooooOO…

    so if we already HAVE the apache and php installed
    but not included with
    These extensions;


    on Linux,,,

    should we installed it by typing one by one apt-get install <> ?

  • g August 19, 2010, 6:12 am

    so how if we want more extension installed
    at the time we already have the apache and php installed on our linux….?

  • Rafael September 7, 2010, 5:16 pm

    Perfect! Thanks from Brazil \o/

  • tangtang December 6, 2010, 10:45 am

    but , my server is off line
    what can i do?

  • lixin December 29, 2010, 9:13 am


  • Vladimir February 24, 2011, 2:56 pm

    It still actual and helped me resolve my problem with images processing in a minute. Thanks.

  • vivek April 26, 2011, 7:06 am

    how can i enable Gd, Curl, Memcache, Mysql, Mysqli, Exif, ftp, iconv, json, Session, apc modules in centos .

    tanks & regards

  • Achyut Neupane June 14, 2011, 12:19 pm

    I dont have website.
    But I want to learn how to add captcha in website.

  • musasa June 20, 2011, 7:31 am

    Thanks it helped. may God be with you.

  • RedScourge July 12, 2011, 8:51 pm

    If you are like me, and running PHP 5.2.X on an Ubuntu system that normally ships with PHP 5.3.X, it is difficult to compile your own PHP from altered source so that it uses bundled GD instead of system GD, since libaprutil1-dev and apache2-prefork-dev depend on some non-dev packages that essentially break your ability to compile this unless you first were to uninstall PHP and Apache entirely. You can get around this by installing all the dependencies you need for building minus these two libraries, then downloading the .deb packages for these two libraries, forcing them in with dpkg –force-depends -i [packagename], THEN alter and compile, and then remove all the build dependencies after. This is how I built myself a bundled GD version of php5-gd_5.2.10.dfsg.1-2ubuntu6.10_amd64.deb.

  • hennie September 18, 2011, 11:12 am

    i am running a couple of sites and forums on the server
    my fear is when i install the php5-gd it will damidge the current running php5

    so my question is can i install it without damidging the current setup
    or will i have to repair them afterwards

  • Guru Wannabe October 28, 2011, 2:02 pm

    Thank you very much. It’s 2011oct28 and your post just help me =).
    Was figuring what went wrong with my WebApp running Turkey Linux LAMP appliance in Virtualbox. Got an error message about GD library.
    Googled and read a ‘thread’ of scary ‘recompile’ … late night tales… and thanks for your post that saved me all from those.
    I ssh as root into the VirtualBox appliance and did exactly as you said and viola … it just works.

    • Guru Wannabe October 28, 2011, 2:05 pm

      Ooops! wireless keyboard … I meant TurnKey Linux LAMP and no didn’t eat turkey earlier.

  • Rama January 9, 2012, 10:04 am

    Thanks, that worked for me also.

  • Insan January 30, 2012, 2:22 pm

    Thanks, it took me a while to actually realize that the library was not installed.. that’s why it kept crashing! But now, problem is fixed! :)

  • Sweet Victory April 10, 2012, 3:45 pm

    Done. Thank you! xoxo

  • rofr July 16, 2012, 1:24 pm

    worked perfect, thx.

  • manoj August 27, 2012, 5:58 pm

    can anybody help to for how to install gd library on Ubuntu

  • mena September 24, 2012, 8:15 am

    10q very much!

  • Jill May 12, 2013, 3:27 pm

    Very descriptive post, I liked that a lot.
    Will there be a part 2?

  • iyo August 22, 2013, 2:03 am

    thx ,,its work for my new server

  • Fred Johnson June 9, 2014, 2:41 pm

    This is awesome, thanks! I’m setting up a PHP server for a developer, and I know next to nothing about PHP. This got me what I needed.

  • Carlos November 7, 2014, 11:24 am

    Hi ! this line is good, work, thanks guys.

  • Soulriser March 13, 2015, 3:15 pm

    Nine years later and this article is still very useful. Just the tip I needed! Thanks!

  • Mohan July 14, 2015, 6:26 am

    Is it possible to install specific version of GD library? Because, if i execute apt-get install php5-gd, its installing the dev version of GD version, which I don’t want. Instead, I want to install a stable version. What can i do? I’m using ubuntu OS.


Leave a Comment