簡體   English   中英

如何使用 CentOS 7 在 PHP 7.2 上安裝 zipArchive?

[英]How can I install zipArchive on PHP 7.2 with CentOS 7?

我正在嘗試在具有最新 WordPress 的 nginx Web 服務器上安裝 ziparchive 和 domdocument。 為了運行 Avada 主題,我需要在本地 CentOS 7 測試服務器上使用這兩個。 我正在尋找過去 3 天的答案。 我該怎么辦?

這是“已安裝 yum 列表”的部分列表:

php-common.x86_64                   7.2.3-2.el7.remi               @remi-php72<BR>
php-fpm.x86_64                      7.2.3-2.el7.remi               @remi-php72<BR>
php-json.x86_64                     7.2.3-2.el7.remi               @remi-php72<BR>
php-mysqlnd.x86_64                  7.2.3-2.el7.remi               @remi-php72<BR>
php-pdo.x86_64                      7.2.3-2.el7.remi               @remi-php72<BR>
php72.x86_64                        1.0-1.el7.remi                 @remi-safe<BR>
php72-php-cli.x86_64                7.2.3-2.el7.remi               @remi-safe<BR>
php72-php-common.x86_64             7.2.3-2.el7.remi               @remi-safe<BR>
php72-php-json.x86_64               7.2.3-2.el7.remi               @remi-safe<BR>
php72-php-mbstring.x86_64           7.2.3-2.el7.remi               @remi-safe<BR>
php72-php-pear.noarch               1:1.10.5-6.el7.remi            @remi-safe<BR>
php72-php-process.x86_64            7.2.3-2.el7.remi               @remi-safe<BR>
php72-php-xml.x86_64                7.2.3-2.el7.remi               @remi-safe<BR>
php72-runtime.x86_64                1.0-1.el7.remi                 @remi-safe<BR>

unzip.x86_64                        6.0-16.el7                     @base<BR>

php-json.x86_64 7.2.3-2.el7.remi @remi-php72

php72-php-json.x86_64 7.2.3-2.el7.remi @remi-safe

看起來你的安裝很亂,你已經安裝了一半的php- 包(基礎包)和一半的php72-php- (SCL 包)

閱讀有關php-* 和 php##-php-* 包之間區別的常見問題解答

php-fpm.x86_64 7.2.3-2.el7.remi @remi-php72

當您使用 FPM 作為remi-php72 的基礎包時,您需要來自同一存儲庫的 zip 擴展(可能未啟用,請使用yum repolist

丟棄不需要的包

yum remove php72\*

正如向導所解釋的,永久啟用存儲庫以確保將從中提取所有擴展。

yum-config-manager --enable remi-php72
yum install php-pecl-zip

echo "extension=zip.so" >> /etc/php.d/zip.in

永遠不要這樣做,每個包都提供了它的配置文件來啟用提供的擴展。

嘗試yum search zip |grep -i php並使用包名安裝回來

這個方法對我yum search zip |grep -i php :首先輸入: yum search zip |grep -i php然后它會出現你所有與 ZIP 擴展相關的模塊和各種 PHP 版本,如下所示:

ea-php54-php-zip.x86_64 : A module for PHP applications that need to handle .zip
ea-php55-php-zip.x86_64 : A module for PHP applications that need to handle .zip
ea-php56-php-zip.x86_64 : A module for PHP applications that need to handle .zip
ea-php70-php-zip.x86_64 : A module for PHP applications that need to handle .zip
ea-php71-php-zip.x86_64 : A module for PHP applications that need to handle .zip
ea-php72-php-zip.x86_64 : A module for PHP applications that need to handle .zip
ea-php73-php-zip.x86_64 : A module for PHP applications that need to handle .zip

選擇您使用的任何版本: yum install ea-php72-php-zip.x86_64最后,通過service httpd restart Apache

你可以試試: yum install php-pecl-zip.x86_64

嘗試安裝並通過運行啟用它: echo "extension=zip.so" >> /etc/php.d/zip.ini

我能夠通過以下方式解決這個問題:

yum install yum-utils
wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install remi-release-7.rpm
yum-config-manager --enable remi-php72
yum install php72-php-pecl-zip
echo "extension=/opt/remi/php72/root/usr/lib64/php/modules/zip.so" >> /etc/php.d/zip.ini

問題是由於使用 remi repo,它沒有將模塊放置在 PHP 期望的默認位置之一。 在 /etc/php.d/zip.ini 下的擴展變量中設置 zip.so 的絕對路徑可解決此問題。

如果上述路徑不起作用,您可以通過以下方式在您的系統上找到 zip.so 的位置:

updatedb
locate zip.so

這對我有用!

yum install php-pecl-zip
apachectl restart

嘗試yum search zip |grep -i php並使用包名安裝回來

喜歡 - sudo yum install ea-php73-php-zip.x86_64

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM