【问题标题】:problem with GD image extension on Amazon Linux 2Amazon Linux 2 上的 GD 映像扩展问题
【发布时间】:2019-02-11 15:11:42
【问题描述】:

我最近使用 Amazon Linux AMI 在 EC2 实例上创建了 LAMP 服务器。

使用

sudo yum install -y php70-gd

我安装了 GD 扩展。 这一切都很好,我可以使用 PHP 上传和操作图像。

现在我已经使用 Amazon Linux 2 使用此处的教程创建了一个 LAMP 服务器:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2.html

我的问题是我无法让 GD 扩展工作。 我尝试使用

sudo yum install -y gd

这似乎安装了旧版本的 GD。 我试过了

sudo yum install php-gd

这似乎安装了最新版本的扩展。

但是 gd 扩展似乎仍然不起作用。 当我进入 百胜信息 gd 在控制台中显示:

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Installed Packages
Name        : php-gd
Arch        : x86_64
Version     : 7.2.5
Release     : 3.amzn2.0.2
Size        : 769 k
Repo        : installed
From repo   : amzn2extra-lamp-mariadb10.2-php7.2
Summary     : A module for PHP applications for using the gd graphics library
URL         : http://www.php.net/
License     : PHP and BSD
Description : The php-gd package contains a dynamic shared object that will add
            : support for using the gd graphics library to PHP.

当我尝试调整图像大小的脚本时,我得到一个错误。 我试过这个测试脚本:

$testGD = get_extension_funcs("gd"); // Grab function list 
if (!$testGD){ echo "GD not installed."; exit; }
echo"<pre>".print_r($testGD,true)."</pre>";

这给了我结果

GD not installed.

显然有些事情是不对的。 有人可以帮忙吗?

谢谢

【问题讨论】:

    标签: php amazon-web-services gd


    【解决方案1】:
    $ sudo yum install -y php-gd
    $ sudo systemctl restart php-fpm
    

    无需重启

    【讨论】:

    • @shane-jupiler:你的回答太少了。这对访问此页面的每个人都非常有帮助,以了解为什么这是解决方案。你能详细说明答案吗?
    【解决方案2】:

    我的 PHP 版本是 - PHP 7.2.18 $ php -v

    我必须安装 -y php72-gd

    $ sudo yum update -y $ sudo yum install -y php72-gd $ sudo reboot

    【讨论】:

      【解决方案3】:

      您可能没有做错任何事情,也可能不需要重新启动。有时,扩展名并不直接映射到 php.ini 文件中。因此,您可能需要在 php.ini 文件中映射新添加的扩展(或尚未映射的扩展)。在你的情况下,添加

      extension=gd.so

      一般来说,

      extension=&lt;my_extension_name&gt;.so

      【讨论】:

        【解决方案4】:

        我在 Amazon Linux 2 上运行 php 7.2.14,这对我有用:

        $ sudo yum update -y
        $ sudo yum install -y php-gd
        $ sudo reboot
        

        【讨论】:

        • 赞成,因为这是我发现的唯一(选择的答案)答案,实际上增加了重新启动的需要。绝对必须重新启动才能使更改生效。
        • 简单的 apache 重启对我不起作用。不得不重启。
        • 好答案,因为经过大量的谷歌搜索,这才有意义!
        【解决方案5】:

        在我使用 PHP 7.0 在 AWS 上的项目中使用 Claviska 简单图像库时,未加载所需的扩展 GD

        所以我需要更新 GD php 库:

        sudo yum install -y php70-gd
        

        然后重启httpd服务来加载更新的php。

        sudo /etc/init.d/httpd restart
        

        为我工作!

        【讨论】:

          【解决方案6】:

          Amazon Linux 2 使用 Apache 和 PHP-FPM 而不是 mod_php。所以你需要重启 php-fpm 进程来重新加载带有新扩展的 PHP。

          sudo systemctl restart php-fpm

          【讨论】:

            【解决方案7】:

            然后解决了... 结果用

            重新启动 apache
            sudo systemctl restart httpd
            

            不足以加载新安装的组件...

            我需要做的是

            sudo reboot
            

            一切正常……

            为什么我没有在 24 小时前尝试!

            【讨论】:

            • 谢谢,这也为我解决了问题。有点奇怪的行为,我不知道为什么会这样。
            猜你喜欢
            • 1970-01-01
            • 2021-09-10
            • 1970-01-01
            • 2018-10-05
            • 2020-12-18
            • 2017-03-05
            • 2017-02-20
            • 2011-07-17
            • 1970-01-01
            相关资源
            最近更新 更多