没有包php7.0-zip可用

时间:2017-12-13 14:23:53

标签: php apache zip

我在redhat机器上运行php7并且在laravel中遇到以下错误:

Class 'ZipArchive' not found

我在我的个人虚拟机服务器上遇到了这个问题,我所要做的就是运行:

sudo yum install php7.0-zip

在我的开发服务器上,我尝试运行命令,然后得到:

sudo yum install php7.0-zip
Loaded plugins: product-id, search-disabled-repos, subscription-manager
No package php7.0-zip available.

这里的更多信息是我的php版本:

php -v
PHP 7.1.12 (cli) (built: Dec  1 2017 13:53:12) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

编辑:如果我运行php7.1-zip

sudo yum install php7.1-zip
Loaded plugins: product-id, search-disabled-repos, subscription-manager
epel/x86_64/metalink                                     |  16 kB     00:00     
gitlab_gitlab-ee/x86_64/signature                        |  836 B     00:00     
gitlab_gitlab-ee/x86_64/signature                        | 1.0 kB     00:00 !!! 
gitlab_gitlab-ee-source/signature                        |  836 B     00:00     
gitlab_gitlab-ee-source/signature                        |  951 B     00:00 !!! 
icinga-stable-release                                    | 2.5 kB     00:00     
jenkins                                                  | 2.9 kB     00:00     
plesk-php-5.6                                            | 2.9 kB     00:00     
plesk-php-7.0                                            | 2.9 kB     00:00     
remi-php71                                               | 2.9 kB     00:00     
remi-safe                                                | 2.9 kB     00:00     
(1/2): remi-php71/primary_db                               | 208 kB   00:00     
(2/2): remi-safe/primary_db                                | 1.1 MB   00:01     
No package php7.1-zip available.
Error: Nothing to do

5 个答案:

答案 0 :(得分:5)

我遇到了同样的问题。我得到了:

  

没有包php7.0-zip可用。   错误:无事可做

运行时

yum install php7.0-zip

我首先通过运行来搜索所有yum包:

yum search php70-zip

如果没有返回任何内容,则运行:

yum search php70-php-zip

如果退回:

  

php70-zip.x86_64:PHP的ZIP存档管理扩展

然后我安装了搜索告诉我的包裹:

yum install php70-zip.x86_64

安装就像一个魅力。然后我重新启动了我的apache服务器。

service httpd restart

现在安装了php zip(用于php7)!

答案 1 :(得分:3)

当你使用一些plesk软件包时,这不是真正的RHEL / CentOS服务器。

提供php命令的包名是什么?

rpm -qf $(which php)
  • 如果 php-cli -7.1.12(来自remi-php71),则需要 php-pecl-zip 相同的存储库
  • 如果 php71-php-cli -7.1.12(来自remi-safe,SCL包)你 需要来自同一存储库的 php71-php-pecl-zip

一般规则,对于任何 foo 扩展,yum install package_namespace-foo 应该有效,如Wizard所述。

答案 2 :(得分:1)

我知道这是一个旧线程,但是我在CENTOS上遇到了相同的问题,并且我解决了类似的问题(但方式完全不同):

yum search php70-zip

未找到匹配项

yum search php70-php-zip 

发现了

ea-php70-php-zip.x86_64 : A module for PHP applications that need to handle .z
                    : files

然后

sudo yum install ea-php70-php-zip.x86_64

它已成功安装

之后,我重新启动了Apache

sudo /etc/init.d/httpd restart

问题解决了

我花了很多时间,因为我不知道软件包名称,这对我来说很困难,我在网上找到了它:ea-php70-php-zip.x86_64

答案 3 :(得分:1)

对于PHP 7.1,我有同样的问题。我在zip包上了解了yum search

$ yum --enablerepo=remi-php71 search php71 | grep zip
php71-php-pecl-zip.x86_64 : A ZIP archive management extension

我安装了它:

$ sudo yum --enablerepo=remi-php71 install php71-php-pecl-zip

由于某些原因,zip.sozip.ini目录中分别缺少文件/usr/lib64/php/modules/etc/php.d/。所以我复制了它们:

$ sudo cp /opt/remi/php71/root/usr/lib64/php/modules/zip.so /usr/lib64/php/modules/zip.so
$ sudo cp /etc/opt/remi/php71/php.d/40-zip.ini /etc/php.d/40-zip.ini

最后,我重新启动了服务

$ sudo systemctl restart  php-fpm nginx

我可以看到zip已加载:

$ php -m
[PHP Modules]
bz2
calendar
...
zip
zlib

答案 4 :(得分:0)

也许您可以尝试安装php7.1-zip或php-zip软件包......