Laravel干预图像GD库扩展

Kav*_*ake 8 php laravel

首先,如果我的问题可能过于含糊,我很抱歉.所以,我会尽可能地澄清我的问题.

我目前正在开发一个Laravel应用程序,我正在尝试使用Intervention Image Facade.当我尝试使用它来测试上传时,我收到以下错误: -

NotSupportedException in Driver.php line 16: GD Library extension not available with this PHP installation.
Run Code Online (Sandbox Code Playgroud)

所以,正如我试图做的那样,我使用了安装GD库sudo apt-get install libgd3和使用php gd驱动程序sudo apt-get php5.6-gd.但是,这不起作用,同样的错误不断出现在laravel中.我明显错过了什么,接下来应该遵循什么?

编辑1. 我使用以下命令来查看php是否实际支持gd驱动程序: -php -i | grep -i --color gd

结果如下: -

/etc/php/5.6/cli/conf.d/20-gd.ini,
gd
GD Support => enabled
GD headers Version => 2.2.3
GD library Version => 2.2.3
gd.jpeg_ignore_warning => 0 => 0
GDM_LANG => en_US
GDMSESSION => ubuntu
_SERVER["GDM_LANG"] => en_US
_SERVER["GDMSESSION"] => ubuntu
Run Code Online (Sandbox Code Playgroud)

希望这会有所帮助.

编辑2感谢所有回答的人.我在Mayank Pandey的回答中找到了我的解决方案.

May*_*eyz 11

这是因为您的服务器上缺少GD库.

您必须启用库GD2.

找到您的(正确的)php.ini文件,然后找到该行:

;extension=php_gd2.dll,删除前面的分号.(;表示该行已注释,因此请删除注释)

该行应如下所示:

extension=php_gd2.dll

然后重启apache你准备好了.

  • 首先停止 php artisan 服务,如果 php artisan 运行。然后重启阿帕奇 (6认同)

Har*_*ron 11

这是因为您的服务器上缺少 GD 库 For PHP 8.x

对于 PHP 8.x,请尝试以下操作:

找到您的(正确的)php.ini 文件,然后找到以下行:

;extension=gd, 去掉前面的分号。;表示该行已被注释,因此删除注释。

该行应如下所示:

extension=gd
Run Code Online (Sandbox Code Playgroud)

然后重新启动 apache,您就可以开始了。

注意:如果您使用的是 php 版本 <=7.x

;extension=php_gd2.dll,它应该是这样的: extension=php_gd2.dll


Naz*_*que 8

如果使用 php 8

  1. 转到 xampp/php/php.ini 并找到 ;extension=gd,如图所示

  2. 将 ;extension=gd 替换为 extension=gd (只需删除 ; 并保存)

在此输入图像描述

  1. 最后重新启动apache..仅此而已


小智 6

安装GD扩展:

sudo apt-get install php7.0-gd
Run Code Online (Sandbox Code Playgroud)

对于PHP 7.1,请尝试以下操作:

sudo apt-get install php7.1-gd
Run Code Online (Sandbox Code Playgroud)

对于PHP 7.2,请尝试以下操作:

sudo apt-get install php7.2-gd
Run Code Online (Sandbox Code Playgroud)

然后重启服务器.

阿帕奇:

sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

Nginx的:

sudo service nginx restart
Run Code Online (Sandbox Code Playgroud)