我正在尝试在 Oracle Linux 8 上安装以下库但无法正常工作。在安装 php8.1-fpm 后的 Debian 11 上,我运行以下命令并且它可以工作。
sudo apt install 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:
如何安装这些库?
更改 PHP 版本
首先,附带说明:PHP 7.2 已过时,您至少应该使用 PHP 7.4,但最好使用 8.0。如果您不想升级,请跳过此部分。
您可以使用以下命令更改(待)安装的 PHP 版本(您可以使用 查询可用版本
dnf module list php
):但是,这仅在没有安装任何包的情况下才有效,因此,如果您确实安装了任何 PHP 包(在这种情况下,上面的命令会报错),您应该发出以下命令:
安装 PHP 包
使用
php-mysqlnd
代替php-mysql
,和php-pecl-zip
代替php-zip
。cURL 扩展位于 中php-common
,因此您无需为此安装任何额外的包。除了 ImageMagick 扩展之外,其余的都应该存在。为了完整起见,您应该安装以下内容:安装 ImageMagick 扩展有点棘手。这是你应该做的。
安装
oracle-epel-release-el8
软件包。它包含您需要的 ImageMagick 包。安装 ImageMagick 和必要的开发包:
然后使用
pecl
安装imagick
扩展:只需接受默认值(“自动检测”)作为前缀。完成后,将扩展添加到 PHP 配置中:
它已经完成了。的输出
php -m
现在应该包含imagick
. 您将需要重新启动您的 Web 服务器,以便它获取更改后的 PHP 库。请注意,在此之后,升级 PHP 将需要禁用
imagick
扩展,并在升级后重新编译并重新启用它。不过,这很可能只有在更改主要版本时才会成为问题。