Amazon Linux 2上的GD映像扩展问题

Dog*_*Dog 4 php gd amazon-web-services

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

使用

sudo yum install -y php70-gd
Run Code Online (Sandbox Code Playgroud)

我安装了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
Run Code Online (Sandbox Code Playgroud)

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

sudo yum install php-gd
Run Code Online (Sandbox Code Playgroud)

并且这似乎安装了该扩展程序的最新版本。

但是gd扩展似乎仍然无法正常工作。当我输入yum info 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.
Run Code Online (Sandbox Code Playgroud)

当我尝试调整图像大小的脚本时,出现错误。我已经尝试过这个测试脚本:

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

这给了我结果

GD not installed.
Run Code Online (Sandbox Code Playgroud)

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

谢谢

rma*_*her 7

Amazon Linux 2使用Apache和PHP-FPM代替mod_php。因此,您需要重新启动php-fpm进程,以使用新扩展名重新加载PHP。

sudo systemctl restart php-fpm


小智 6

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

$ sudo yum update -y
$ sudo yum install -y php-gd
$ sudo reboot
Run Code Online (Sandbox Code Playgroud)