【问题标题】:GD Library extension not available with this PHP installation Ubuntu Nginx此 PHP 安装 Ubuntu Nginx 不提供 GD 库扩展
【发布时间】:2016-03-04 18:03:32
【问题描述】:

我在ubuntu 14.04 服务器和Nginx web 服务器上使用Laravel web 框架,当我尝试使用Laravel 将文件上传到服务器时出现此错误。 我的上传目录位于具有 777 权限的public/uploads 文件夹中。

【问题讨论】:

    标签: php laravel ubuntu nginx


    【解决方案1】:

    GD 图形库用于动态处理图像。 对于 Ubuntu,您应该手动安装它:

    • PHP5:sudo apt-get install php5-gd
    • PHP7.0:sudo apt-get install php7.0-gd
    • PHP7.1:sudo apt-get install php7.1-gd
    • PHP7.2:sudo apt-get install php7.2-gd
    • PHP7.3:sudo apt-get install php7.3-gd
    • PHP7.4:sudo apt-get install php7.4-gd
    • PHP8.0:sudo apt-get install php8.0-gd

    就是这样,您可以验证是否已加载 GD 支持:

    php -i | grep -i gd
    

    输出应该是这样的:

    GD Support => enabled
    GD headers Version => 2.1.1-dev
    gd.jpeg_ignore_warning => 0 => 0
    

    最后重启你的 apache:

    sudo service apache2 restart
    

    【讨论】:

    • sudo apt-get install php5.6-gd for PHP 5.6 版本
    • sudo apt-get install php7.0-gd
    • ...并且不要忘记之后重新加载 apache2,例如服务 apache2 重新加载
    • 如果您使用的是apache服务器,安装后,重新加载sudo systemctl restart apache2 然后返回并重新加载您的页面并上传新文档。它应该工作
    • 如果你使用的是php的内部服务器(php artisan serve the artisans),请确保你停止服务器并重新启动它。重新启动/重新加载 apache 无济于事。
    【解决方案2】:

    window 用户使用 xampp apache 服务器。

    进入xampp中的php文件夹,打开php.ini和php配置设置文件,然后 将 ;extension=gd2 行或 ;extension=gd 行更改为 extension=gd2

    注意 php 版本 8 存储为 ;extension=gd

    【讨论】:

    • @EyadMohammedOsama 我敢打赌你讨厌多用途的东西。
    • @akinuri 确实如此,这个答案确实帮助了我!
    【解决方案3】:

    @limonte 的回答是正确的,但是如果你使用的是 PHP7+,你应该使用以下命令:

    sudo apt-get install php7.0-gd

    如果您不知道您使用的是什么版本的 PHP,只需输入

    php -v

    输出应以类似于PHP 7.0.8-0ubuntu0.16.04.2 (cli) ( NTS ) 的内容开头。

    【讨论】:

      【解决方案4】:

      对于我的 Windows 用户,请在您的 php.ini 文件中找到 ;extension=gd2 行并将其更改为 extension=gd2

      问候

      【讨论】:

      • 对于 PHP 8,该行将是 extension=gd 而不是 extension=gd2
      • 可能是 extension=gd2 或 extension=gd 其中任何一个(100% 对我有用)
      【解决方案5】:

      对于 php -v 7.1

      sudo apt-get install php7.1-gd
      

      为我工作

      【讨论】:

        【解决方案6】:

        Php 5.6 使用以下命令

        PHP5.6:sudo apt-get install php5.6-gd

        安装后重启服务器

        sudo service apache2 restart
        

        【讨论】:

          【解决方案7】:

          在我的 Archlinux 下:

          pacman -S php-gd 
          

          php-gd

          然后在您的php.ini 中为我在/etc/php/php.ini 中通过删除分号取消注释行;extension=gd.so

          别忘了重启服务器。

          【讨论】:

            【解决方案8】:

            如果您使用的是 Xampp PHP Version 8.* ,在 xampp 控制面板上,点击 apache 下的 config 并选择 PHP(php.ini) ,这将打开 php.ini 配置文件。搜索 ;extension=gd 并将其更改为 extension=gd 。进入 php.ini 并非必须遵循此过程,最重要的是您必须在 php.ini 配置文件中将 ;extension=gd 更改为 extension=gd。重启 Xampp 就可以了!

            【讨论】:

              【解决方案9】:

              转到您的 xampp 服务:

              之后,您只需单击 Apache 配置按钮,即可在 PHP(php.ini) 上获得一个选项。单击此选项,然后它将在代码编辑器中打开。

              之后,你会搜索一个文件gd,你会得到;extension=gd这个选项。从extension=gd 中删除;,然后保存。

              然后重新启动你的服务器,然后它会正常工作。

              【讨论】:

              • 感谢您的回答,但它主要与@Arinzehills 的answer 重复
              猜你喜欢
              • 2019-08-13
              • 2023-04-01
              • 2020-04-22
              • 2017-07-20
              • 2023-03-14
              • 2023-01-19
              • 2015-04-30
              • 2011-01-17
              • 2013-01-08
              相关资源
              最近更新 更多