首先,如果我的问题可能过于模糊,我很抱歉。所以,我会尽可能地澄清我的问题。
我目前正在开发一个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的回答中找到了我的解决方案。
答案 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
希望对您有帮助。