AWS EC2 Wordpress - 未启用 gd 模块

AWS EC2 Wordpress - gd module not enabled

我正在尝试使用 AWS EC2 实例 运行 CentOS 部署 Wordpress 网站。我正在使用 wordpress 5.7.2、PHP 8.0.6 和 Apache 2.4.46。我已成功启动网站并 运行,但在我的网站健康状态中发现以下问题:

The required module, gd, is not installed, or has been disabled.

我知道我已经安装了 gd,因为当我通过 SSH 进入我的实例并键入 sudo yum info gd 命令时,我收到以下输出:

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Available Packages
Name        : gd
Arch        : i686
Version     : 2.0.35
Release     : 27.amzn2
Size        : 149 k
Repo        : amzn2-core/2/x86_64
Summary     : A graphics library for quick creation of PNG or JPEG images
URL         : http://www.libgd.org/Main_Page
License     : MIT
Description : The gd graphics library allows your code to quickly draw images
            : complete with lines, arcs, text, multiple colors, cut and paste from
            : other images, and flood fills, and to write out the result as a PNG or
            : JPEG file. This is particularly useful in Web applications, where PNG
            : and JPEG are two of the formats accepted for inline images by most
            : browsers. Note that gd is not a paint program.

Name        : gd
Arch        : x86_64
Version     : 2.0.35
Release     : 27.amzn2
Size        : 146 k
Repo        : amzn2-core/2/x86_64
Summary     : A graphics library for quick creation of PNG or JPEG images
URL         : http://www.libgd.org/Main_Page
License     : MIT
Description : The gd graphics library allows your code to quickly draw images
            : complete with lines, arcs, text, multiple colors, cut and paste from
            : other images, and flood fills, and to write out the result as a PNG or
            : JPEG file. This is particularly useful in Web applications, where PNG
            : and JPEG are two of the formats accepted for inline images by most
            : browsers. Note that gd is not a paint program.

那么,问题应该是如何启用gd。我的 /etc/php.ini 文件不包含任何扩展命令,因为我的站点设置为在 /etc/php.d 目录中找到所有扩展命令。我在该目录中有一个文件,/etc/php.d/20-gd.ini,如下所示:

; Enable gd extension module
extension=gd

虽然它看起来设置正确,但它似乎不起作用,因为当我检查我的 phpinfo.php 时,它告诉我还有其他几个格式完全相同的模块正在成功加载:

/etc/php.d 目录中除 20-gd.ini 之外的每个文件都被此设置正确解析。我曾尝试手动将 extension=gd 命令直接添加到 php.ini 文件中并在我的 EC2 实例中执行 service httpd restart ,但这并没有改变任何东西。我也尝试过输入 gd 的其他版本,例如 extension=gd20extension=gd.so,但没有成功。是什么导致了这个问题?

编辑:根据建议 found here,我在我的 EC2 实例中执行了 php --ini 命令,这表明 /etc/php.d/20-gd.ini 实际上出现了:

Configuration File (php.ini) Path: /etc
Loaded Configuration File:         /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed:      /etc/php.d/20-bz2.ini,
/etc/php.d/20-calendar.ini,
/etc/php.d/20-ctype.ini,
/etc/php.d/20-curl.ini,
/etc/php.d/20-exif.ini,
/etc/php.d/20-fileinfo.ini,
/etc/php.d/20-ftp.ini,
/etc/php.d/20-gd.ini
...

所以它出现在这里,但出于某种原因没有出现在 phpinfo() 中。将尝试找出原因。

希望你已经解决了这个问题,原因是你有 centos 的 GD 包但没有 PHP 模块。 '

对于 PHP 8.0,以下命令应该能够正确安装和启用包。

sudo apt-get install php8.0-gd

请尝试使用 yum search all package_name 搜索 gdphp-gd

建议安装后重启apache。

请参考原文出处。 Original Source