GD Library extension not available with this PHP installation Ubuntu Nginx
PhpLaravelUbuntuNginxPhp 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
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:
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!