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

by on December 20, 2006 · 49 comments· LAST UPDATED June 5, 2012

in , ,

I am using 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 under Apache/PHP5 for dynamically manipulating images?

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

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
OR
$ 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:
  libgd2-xpm
Suggested packages:
  libgd-tools
The following packages will be REMOVED:
  libgd2-noxpm
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 serer, enter:
# /etc/init.d/apache2 restart

You can test your php application.

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

Type the following command:
$ php5 -m | grep -i gd
Sample outputs:

gd

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

Additional .ini files parsed => /etc/php5/cli/conf.d/gd.ini,
gd
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):

 
<?php
  phpinfo();
?>
 

Run it as follows:
http://your-server-ip/test.php

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 49 comments… read them below or add one }

1 Heroin February 7, 2007 at 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

Reply

2 nixCraft February 7, 2007 at 3:15 pm

Heroin,

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 :)

<?php
phpinfo();
?>

Reply

3 Eric February 14, 2007 at 8:22 am

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

Reply

4 zaf April 4, 2007 at 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.

Reply

5 RamdomInternetGuy July 18, 2014 at 1:06 am

install PHP5

apt-get install php5 libapache2-mod-php5

Reply

6 zaf April 4, 2007 at 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.

Reply

7 cruz July 4, 2007 at 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?

THANKS!!!

Reply

8 nixCraft July 5, 2007 at 12:26 pm

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

Reply

9 wilco July 17, 2007 at 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??

Reply

10 nixCraft July 17, 2007 at 9:47 pm

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

Reply

11 wilco July 17, 2007 at 10:08 pm

@vivek.

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

Reply

12 Tharange November 9, 2007 at 8:08 am

Thanks, My prob Solved.

Reply

13 Newbie2 November 10, 2007 at 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.

Reply

14 Mark December 5, 2007 at 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.

Reply

15 xer February 28, 2008 at 10:02 am

thank you =)

Reply

16 ihya April 26, 2008 at 6:58 am

thank you

Reply

17 Peter Martin August 26, 2008 at 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!

Thanks!

Reply

18 fixsmall October 22, 2008 at 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

Reply

19 Webdesign Amsterdam April 9, 2009 at 1:52 pm

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

Reply

20 Matteo Terruzzi July 1, 2009 at 5:30 pm

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

Reply

21 Webdesign Rotterdam July 13, 2009 at 11:16 am

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

Reply

22 berkmense October 30, 2009 at 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..

Reply

23 tanks December 23, 2009 at 11:35 am

thank you very very much!

Reply

24 manuel February 8, 2010 at 8:26 am

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

Reply

25 Roy July 11, 2010 at 6:32 pm

Thanks for such simple instructions!

Reply

26 Pablito Zamudio July 18, 2010 at 1:55 pm

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

Reply

27 Hemma August 2, 2010 at 8:43 am

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

Reply

28 g August 19, 2010 at 6:09 am

Nice information ooooOO…

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

GD
IMAP
Zlib
OpenSSL
Curl

on Linux,,,

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

Reply

29 g August 19, 2010 at 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….?

Reply

30 Rafael September 7, 2010 at 5:16 pm

Perfect! Thanks from Brazil \o/

Reply

31 tangtang December 6, 2010 at 10:45 am

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

Reply

32 lixin December 29, 2010 at 9:13 am
33 Vladimir February 24, 2011 at 2:56 pm

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

Reply

34 vivek April 26, 2011 at 7:06 am

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

tanks & regards
vivek.p

Reply

35 Achyut Neupane June 14, 2011 at 12:19 pm

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

Reply

36 musasa June 20, 2011 at 7:31 am

Thanks it helped. may God be with you.

Reply

37 RedScourge July 12, 2011 at 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.

Reply

38 hennie September 18, 2011 at 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

Reply

39 Guru Wannabe October 28, 2011 at 2:02 pm

Hi,
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.
Cheers!

Reply

40 Guru Wannabe October 28, 2011 at 2:05 pm

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

Reply

41 Rama January 9, 2012 at 10:04 am

Thanks, that worked for me also.

Reply

42 Insan January 30, 2012 at 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! :)

Reply

43 Sweet Victory April 10, 2012 at 3:45 pm

Done. Thank you! xoxo

Reply

44 rofr July 16, 2012 at 1:24 pm

worked perfect, thx.

Reply

45 manoj August 27, 2012 at 5:58 pm

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

Reply

46 mena September 24, 2012 at 8:15 am

10q very much!

Reply

47 Jill May 12, 2013 at 3:27 pm

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

Reply

48 iyo August 22, 2013 at 2:03 am

thx ,,its work for my new server

Reply

49 Fred Johnson June 9, 2014 at 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.

Reply

Leave a Comment

Tagged as: , , , , , , , , , , , , , , , , , ,

Previous Faq:

Next Faq: