如何在 Oracle Linux 上安装 php-mysql、php-gd 和其他库

如何在 Oracle Linux 上安装 php-mysql、php-gd 和其他库

我正在尝试在 Oracle Linux 8 上安装以下库,但没有成功。在 Debian 11 上安装 php8.1-fpm 后,我运行以下命令,它成功了。

安装 php8.1-mysql php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip php8.1-curl php8.1-imagick php8.1-soap

在 Oracle Linux 上,我尝试了以下方法,但没有成功。安装的 PHP FPM 版本是 7.2.24

sudo yum install php-mysql

sudo yum install php7.2-mysql

sudo yum install php7.2.24-mysql

所有这些命令都失败了Error: Unable to find a match:

如何安装这些库?

答案1

更改 PHP 版本

首先,补充一点:PHP 7.2 已过时,您至少应使用 PHP 7.4,但最好使用 8.0。如果您不想升级,请跳过此部分。

您可以使用以下命令更改(即将)安装的 PHP 版本(您可以使用 查询可用的版本dnf module list php):

dnf module enable php:8.0

然而,这仅在没有安装任何包的情况下才有效,因此如果您安装了任何 PHP 包(在这种情况下上述命令将会出现错误),您应该发出以下命令:

dnf module reset php
dnf install @php:8.0
dnf distro-sync

安装 PHP 包

使用php-mysqlnd代替php-mysql,并php-pecl-zip使用 代替php-zip。cURL 扩展位于 中php-common,因此您无需为此安装任何额外的软件包。除 ImageMagick 扩展外,其余的应该存在。为了完整起见,以下是您应该安装的内容:

dnf install php php-common php-mysqlnd php-pecl-zip php-gd \
    php-mbstring php-xml php-soap

安装 ImageMagick 扩展有点棘手。以下是您应该做的事情。

安装该oracle-epel-release-el8包。它包含您需要的 ImageMagick 包。

dnf install oracle-epel-release-el8

安装 ImageMagick 和必要的开发包:

dnf install ImageMagick ImageMagick-devel php-devel php-pear make

然后使用pecl安装imagick扩展:

pecl install imagick

只需接受默认的 (“autodetect”) 作为前缀。完成后,将扩展添加到 PHP 配置中:

echo "extension=imagick.so" > /etc/php.d/99-imagick.ini

就完成了。 的输出php -m现在应该包含imagick。 您需要重新启动 Web 服务器,以便它能够获取更改后的 PHP 库。

请注意,在此之后,升级 PHP 将需要禁用imagick扩展,并在升级后重新编译并重新启用它。不过,这很可能只会在更改主要版本时才会成为问题。

相关内容