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.
I want to comment on this because I see the question is popular now, Never use 777 permission 🙂 In my case, it was a test to check why it was not writing the file.
The GD Graphics Library is for dynamically manipulating images. For Ubuntu you should install it manually:
- 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
- sudo apt-get install php7.0-gd – Chintan7027 Dec 14, 2016 at 8:58
- and don’t forget to reload apache2 afterwards e.g. service apache2 reload – ThatMSG Feb 26, 2017 at 19:09
- If you’re using apache server, after installing, reload
sudo systemctl restart apache2Then go back and reload your page and upload a new doc. It should work – mutiemule Feb 18, 2019 at 6:30 - If you’re using php’s internal server (php artisan serve for the artisans), make sure you stop the server and restart it. Restarting/reloading apache won’t help. – andromeda May 14, 2019 at 9:26
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
@EyadMohammedOsama I bet you hate multi-purpose things.
– akinuriMay 30, 2021 at 16:24
@akinuri sure he does, this answer actually helped me!
– runtimeTerrorAug 10, 2021 at 21:16
For my fellow Windows users, find the line ;extension=gd2 in your php.ini file and change it to extension=gd2.
for PHP 8, the line would be extension=gd and not extension=gd2
– javaxissMar 20, 2021 at 10:12
may be extension=gd2 OR extension=gd ony one of them (100% Workes fo me)
– Chauhan AjayJun 16, 2021 at 20:48
may be extension=gd2 OR extension=gd ony one of them (100% Workes fo me)
– Chauhan AjayJun 16, 2021 at 20:48
for php -v 7.1
sudo apt-get install php7.1-gd
works for me
Php 5.6 worked with below command
PHP5.6: sudo apt-get install php5.6-gd
after installing restart server
sudo service apache2 restart
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.
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.
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!
If you are using Wnmp PHP version 8.*, on Wnmp look for php.ini located at C:\Wnmp\php. Remove the comment ;extension=gd to extension=gd
Then restart the Nginx on Wnmp
“require”: {
"php": "^8.0.2",
"laravel/framework": "^9.2",
"league/flysystem-aws-s3-v3": "^3.0",
"ext-gd": "*",
.....
},
source : https://stackoverflow.com/questions/34009844/gd-library-extension-not-available-with-this-php-installation-ubuntu-nginx