GD 库扩展在这个 PHP 安装 Ubuntu Nginx 中不可用

我使用 Laravel网络框架在我的 ubuntu 14.04服务器和 Nginx网络服务器,我有这个错误时,我尝试上传一个文件使用 Laravel到服务器。 我的上传目录位于拥有777权限的 public/uploads文件夹中。

142350 次浏览

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

@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 ).

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.

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

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

Regards

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

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.

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": "*",


.....
},