如何在 Oracle Linux 上安裝 php-mysql、php-gd 等庫
我正在嘗試在 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
擴展,並在升級後重新編譯並重新啟用它。不過,這很可能只有在更改主要版本時才會成為問題。