Laravel干预图像GD库扩展

时间:2016-10-12 04:25:04

标签: php laravel

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

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

NotSupportedException in Driver.php line 16: GD Library extension not available with this PHP installation.

所以,正如我试图做的那样,我使用sudo apt-get install libgd3和使用sudo apt-get php5.6-gd的php gd驱动程序安装了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

希望这会有所帮助。

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

5 个答案:

答案 0 :(得分:11)

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

您必须启用库GD2。

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

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

该行应如下所示:

extension=php_gd2.dll

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

答案 1 :(得分:5)

安装GD扩展程序:

sudo apt-get install php7.0-gd

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

sudo apt-get install php7.1-gd

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

sudo apt-get install php7.2-gd

然后重新启动服务器。

的Apache:

sudo service apache2 restart

Nginx的:

sudo service nginx restart

答案 2 :(得分:5)

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

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

找到你的(正确的)php.ini 文件,然后找到这一行:

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

该行应如下所示:

extension=gd

然后重启apache,你就可以开始了。

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

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

答案 3 :(得分:0)

您是否启用了gd扩展程序?

试试这是你的白痴

php -i | grep gd

我的输出是:

frank@frank-ThinkPad-T430:~$ php -i | grep gd
/etc/php/7.0/cli/conf.d/20-gd.ini,
gd
gd.jpeg_ignore_warning => 0 => 0

答案 4 :(得分:0)

上述所有方法均失败后,我使用

从php7.2.x升级到php 7.3.x
    sudo apt install php

然后安装gd

    sudo apt-get install php7.3-gd

可以肯定的是,重新启动apache服务器或xampp(就我的情况而言),并重新启动php artisan serve。

使用适当的php.ini文件,通过删除显示在前面的分号来确保已启用“ extension = php_gd2.dll”。

然后通过以下方法检查您在grep上拥有的内容

    php -i | grep -i --color gd

它应该看起来像这样。

/etc/php/7.3/cli/conf.d/20-gd.ini,
gd
GD Support => enabled
GD headers Version => 2.2.5
GD library Version => 2.2.5
gd.jpeg_ignore_warning => 1 => 1
GDM_LANG => C.UTF-8
GDMSESSION => gnome
XAUTHORITY => /run/user/1000/gdm/Xauthority
$_SERVER['GDM_LANG'] => C.UTF-8
$_SERVER['GDMSESSION'] => gnome
$_SERVER['XAUTHORITY'] => /run/user/1000/gdm/Xauthority

在此之后,如果您在laravel应用程序上遇到有关驱动程序的错误,此答案可能会帮助解决它。Laravel 5 PDOException Could Not Find Driver

希望对您有帮助。