GD Library extension not available with this PHP installation Ubuntu Nginx

PhpLaravelUbuntuNginx

Php Problem Overview


I am using Laravel web framework on my ubuntu 14.04 server and Nginx web server, I have this error when I try to upload a file using Laravel to the server. my upload directory is on the public/uploads folder that has 777 permission.

Php Solutions


Solution 1 - Php

The GD Graphics Library is for dynamically manipulating images. For Ubuntu you should install it manually:

  • PHP5: sudo apt-get install php5-gd
  • PHP7.0: sudo apt-get install php7.0-gd
  • PHP7.1: sudo apt-get install php7.1-gd
  • PHP7.2: sudo apt-get install php7.2-gd
  • PHP7.3: sudo apt-get install php7.3-gd
  • PHP7.4: sudo apt-get install php7.4-gd
  • PHP8.0: sudo apt-get install php8.0-gd
  • PHP8.1: sudo apt-get install php8.1-gd

That's all, you can verify that GD support loaded:

php -i | grep -i gd

Output should be like this:

GD Support => enabled
GD headers Version => 2.1.1-dev
gd.jpeg_ignore_warning => 0 => 0

and finally restart your apache:

sudo service apache2 restart

Solution 2 - Php

window users using xampp apache server.

Go to php folder in xampp and open the php.ini and php configurations settings file, and change the line ;extension=gd2 or the line ;extension=gd to just extension=gd2

NB that php version 8 is stored as ;extension=gd

Solution 3 - Php

@limonte's answer is correct, but if you're using PHP7+, you should use following command:

sudo apt-get install php7.0-gd

If you don't know what version of PHP you're using, just type

php -v

Output should start with something similar to PHP 7.0.8-0ubuntu0.16.04.2 (cli) ( NTS ).

Solution 4 - Php

For my fellow Windows users, find the line ;extension=gd2 in your php.ini file and change it to extension=gd2.

Regards

Solution 5 - Php

for php -v 7.1

sudo apt-get install php7.1-gd

works for me

Solution 6 - Php

Php 5.6 worked with below command

PHP5.6: sudo apt-get install php5.6-gd

after installing restart server

sudo service apache2 restart

Solution 7 - Php

In my case under Archlinux:

pacman -S php-gd 

php-gd

then in your php.ini for me in /etc/php/php.ini uncomment line ;extension=gd.so by removing semicolon.

Don't forget to restart the server.

Solution 8 - Php

Go to your xampp serve:

enter image description here

After that, you just click on the Apache config button and you get an option on PHP(php.ini). Click this option and then it will be open on code editor.

After that, you will search a file gd and you get ;extension=gd this option. Remove the; from extension=gd and then save it.

Then restart your server again, then it will be work properly.

Solution 9 - Php

If you are using Xampp PHP Version 8.* , on xampp control panel, click on config under apache and select PHP(php.ini) , this will open php.ini config file. Search for ;extension=gd and Change it to extension=gd . It is not a must you follow this process to get to php.ini, the most important thing is that you have to change ;extension=gd to extension=gd on php.ini config file. Restart Xampp and that is it!

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSaeed VaziryView Question on Stackoverflow
Solution 1 - PhpLimon MonteView Answer on Stackoverflow
Solution 2 - PhpArinzehillsView Answer on Stackoverflow
Solution 3 - Phpuser3278087View Answer on Stackoverflow
Solution 4 - PhpMichael KiarieView Answer on Stackoverflow
Solution 5 - PhpMd. Noor-A-Alam SiddiqueView Answer on Stackoverflow
Solution 6 - PhpHemamaliniView Answer on Stackoverflow
Solution 7 - PhpJTCView Answer on Stackoverflow
Solution 8 - PhpMinhazul Islam MinView Answer on Stackoverflow
Solution 9 - PhpSimon AngatiaView Answer on Stackoverflow