亚马逊上的 GD 图片扩展问题 Linux 2

problem with GD image extension on Amazon Linux 2

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

使用

sudo yum install -y php70-gd

我安装了 GD 扩展。 这一切都很好,我可以使用 PHP.

上传和操作图像

现在我已经使用 Amazon Linux2 使用此处的教程创建了一个 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.

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

谢谢

并解决了... 原来用

重新启动 apache
sudo systemctl restart httpd

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

我需要做的是

sudo reboot

一切正常...

我为什么不在 24 小时前尝试一下!

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

sudo systemctl restart php-fpm

我在使用 Php 7.0

的 AWS 项目中使用 Claviska Simple Image Library 时出现错误,未加载必需的扩展 GD

所以我需要更新 GD php 库:

sudo yum install -y php70-gd

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

sudo /etc/init.d/httpd restart

对我有用!

我是 运行 php 亚马逊上的 7.2.14 Linux 2 这对我有用:

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

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

extension=gd.so

一般来说,

extension=<my_extension_name>.so

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

我必须安装 -y php72-gd

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

$ sudo yum install -y php-gd
$ sudo systemctl restart php-fpm

无需重启