Php-Fpm

如何在 Oracle Linux 上安裝 php-mysql、php-gd 等庫

  • August 17, 2022

我正在嘗試在 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):

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

只需接受預設值(“自動檢測”)作為前綴。完成後,將擴展添加到 PHP 配置中:

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

它已經完成了。的輸出php -m現在應該包含imagick. 您將需要重新啟動您的 Web 伺服器,以便它獲取更改後的 PHP 庫。

請注意,在此之後,升級 PHP 將需要禁用imagick擴展,並在升級後重新編譯並重新啟用它。不過,這很可能只有在更改主要版本時才會成為問題。

引用自:https://serverfault.com/questions/1108379