未找到 ZipArchive 但似乎已安装 (PHP 7.2)

use*_*915 3 php ziparchive

我正在 Amazon EC2 实例 (Amazon Linux 2) 上安装需要 ZipArchive 的 CMS。需求向导说不支持 ZipArchive:

在此处输入图片说明

但是,如果我尝试按照我在网上找到的说明安装 ZipArchive,服务器会告诉我它已经安装:

[ec2-user@ip-***-**-**-** ~]$ sudo yum install php-zip
Loaded plugins: langpacks, priorities, update-motd
amzn2-core                                                                                                                                                                         | 2.0 kB  00:00:00     
Package matching php-common-5.4.16-43.amzn2.0.1.x86_64 already installed. Checking for update.
Nothing to do
Run Code Online (Sandbox Code Playgroud)

我已经重新启动了 httpd 服务。

我也试过:

[ec2-user@ip-***-**-**-** ~]$ sudo yum install php7.0-zip
Loaded plugins: langpacks, priorities, update-motd
amzn2-core                                                                                                                                                                         | 2.0 kB  00:00:00     
No package php7.0-zip available.
Error: Nothing to do
Run Code Online (Sandbox Code Playgroud)

我也尝试添加:

extension=zip.so
Run Code Online (Sandbox Code Playgroud)

到 php.ini 并重新启动 httpd 服务。还是没有快乐。

在 ZipArchive 的 PHP 手册中,它说“为了使用这些功能,您必须使用 --enable-zip 配置选项编译支持 zip 的 PHP。” 我不确定在何处或何时执行此操作。我简单地使用了:

yum install php php-mysql
Run Code Online (Sandbox Code Playgroud)

安装PHP。

将近一天的时间试图解决这个问题,我不知道从哪里开始。有人可以指出我正确的方向吗?

and*_*kse 5

如果您使用 Remi 的 repo,我注意到 zip 模块是 pecl 扩展,因此要安装并启用 zip run

 sudo yum -y install php-pecl-zip
Run Code Online (Sandbox Code Playgroud)

然后重启php-fpm是你用的是NGINX还是重启APACHE

 sudo service php-fpm restart
 sudo service httpd restart
Run Code Online (Sandbox Code Playgroud)

您可以安装 Remi repo

**RHEL or CentOS**
yum install yum-utils
yum-config-manager --enable remi-php72
Run Code Online (Sandbox Code Playgroud)

查看 Remi Repo 上的说明