我在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
答案 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)
一般规则,对于任何 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.so
和zip.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软件包......