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

时间:2018-03-31 03:17:40

标签: php

我正在尝试在具有最新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>

7 个答案:

答案 0 :(得分:9)

  

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包)

阅读有关Difference between php-* and php##-php-* packages ?

的常见问题解答
  

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

当您使用FPM作为 remi-php72 的基本软件包时,您需要来自同一存储库的zip扩展(可能未启用,与yum repolist一起使用)

删除不需要的包

yum remove php72\*

正如wizard所述,永久启用存储库以确保从中提取所有扩展

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

echo&#34; extension = zip.so&#34; &GT;&GT; /etc/php.d/zip.in

永远不要这样做,每个包都提供其配置文件以启用提供的扩展。

答案 1 :(得分:7)

此方法对我有用: 第一种类型: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

答案 2 :(得分:4)

尝试yum search zip |grep -i php并使用包名称安装回来

答案 3 :(得分:4)

我能够通过以下方式解决此问题:

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导致的,该remi不能将模块放置在PHP期望的默认位置之一中。在/etc/php.d/zip.ini下的扩展变量中将zip.so设置为绝对路径可以解决此问题。

如果上述路径不起作用,您可以通过以下方法在系统中找到zip.so的位置:

updatedb
locate zip.so

答案 4 :(得分:3)

您可以尝试:yum install php-pecl-zip.x86_64

尝试安装并启用它:echo "extension=zip.so" >> /etc/php.d/zip.ini

答案 5 :(得分:3)

这对我有用!

yum install php-pecl-zip
apachectl restart

答案 6 :(得分:0)

尝试yum search zip |grep -i php并使用软件包名称进行安装

like-sudo yum install ea-php73-php-zip.x86_64