在 CentOS 中安装 PHP Zip 扩展

问题描述 投票:0回答:13

我正在尝试在 CentOS 中安装 PHP Zip 扩展。

我的服务器没有外部互联网访问权限,所以我自己从 PECL 下载:http://pecl.php.net/package/zip。我选择了最新的“稳定”版本 1.10.2,并将其传输到我的服务器。

我跑了:

pear install zip-1.10.2.tgz

并添加了

extension=zip.so

按照指示写入 php.ini。我可以看到 zip.so 已创建并放置在正确的 extension_dir 文件夹中。我重新启动了apache,然后通过运行检查它是否已加载:

php -m

尽管如此,“zip”仍然不在该列表中。

我是否遗漏了某个步骤或做错了什么?我以为这应该很简单,但我开始觉得很愚蠢,哈哈。

其他可能重要的东西:

CentOS 阿帕奇2.2.3 PHP 5.2.16

php centos zip pear php-extension
13个回答
102
投票

这就是我在我的机器(ubuntu)上安装它的方式:

php 7:

sudo apt-get install php7.0-zip

php 5:

sudo apt-get install php5-zip

确保之后重新启动服务器。

sudo /etc/init.d/apache2 restart
sudo service nginx restart

PS:如果您使用的是centOS,请查看上面cweiskeanswer
但如果您使用的是 Debian 衍生操作系统,此解决方案应该可以帮助您安装 php zip 扩展。


33
投票

您可能有多个

php.ini
文件,一个用于 CLI,一个用于 apache。运行
php --ini
查看 CLI ini 位置。


26
投票

只需使用

sudo yum install php-zip


23
投票

适用于 PHP 7.3 / Ubuntu

sudo apt install php7.3-zip

适用于 PHP 7.4

sudo apt install php7.4-zip

17
投票

第 1 步 - 安装所需的扩展

sudo apt-get install libz-dev libzip-dev -y

第 2 步 - 安装 PHP 扩展

pecl install zlib zip

第 3 步 - 重新启动 Apache

sudo /etc/init.d/apache2 restart

如果不起作用,您可以检查 phpinfo 中是否调用了 zip.ini,以检查 zip.so 是否包含在内。


7
投票

适用于 ubuntu 16.04 上的 php 7.3

sudo apt-get install php7.3-zip


5
投票

在 CentOS 上的 php7.2 中安装 Zip 扩展的最佳方法如下:

  1. 通过yum命令搜索找到可用的扩展名

    百胜搜索zip

  2. 这将列出所有 zip 包。我们需要寻找php7.2 zip包

  1. 然后如果你的php版本是7.2则运行命令

    百胜安装 ea-php72-php-zip

这肯定会解决您的问题。

干杯!!


3
投票

在 Amazon Linux 2 和 PHP 7.4 上,我终于安装了 PHP-ZIP,希望它对其他人有帮助 - 通过以下方式(注意 yum install 命令还包含额外的常用模块,您可能不需要全部):

sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm

sudo yum -y install yum-utils

sudo yum-config-manager --enable remi-php74

sudo yum update

sudo yum install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json

sudo pecl install zip

php --modules

sudo systemctl restart httpd

1
投票

如果你使用php5.6那么执行这个:

sudo apt-get install php5.6-zip


1
投票

Ubuntu 18.04+ 版本不支持 PHP5 版本,因此您必须从源文件手动配置。如果您使用的是 php-5.3.29,

# cd /usr/local/src/php-5.3.29
# ./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=MySQL_LOCATION/mysql --prefix=/usr/local/apache/php --with-config-file-path=/usr/local/apache/php --disable-cgi --with-zlib --with-gettext --with-gdbm --with-curl --enable-zip --with-xml --with-json --enable-shmop
# make
# make install

重启Apache服务器,在浏览器上查看phpinfo功能

<?php echo phpinfo(); ?>

注意:请更改MySQL_Location:--with-mysql=MySQL_LOCATION/mysql


1
投票

我尝试使用以下方法更改存储库列表:

http://security.ubuntu.com/ubuntu bionic-security主宇宙http://archive.ubuntu.com/ubuntubionic主受限宇宙

但它们似乎都不起作用,但我终于找到了一个可以运行以下命令的存储库

添加 apt-repository ppa:ondrej/php

然后使用 apt-get 正常更新和安装软件包

如您所见,它终于安装好了。


1
投票

我试图在 CentOS 7 上安装 php 7.1。就我而言,yum 包

php-zip
在 remi 存储库中不可用,但我可以使用不同的名称安装它

yum install php-pecl-zip

所以如果您无法通过查询找到它

php-zip
,请尝试搜索
php-pecl-zip


1
投票

对于那些需要在正在构建的 Docker 镜像中安装

zip
扩展的人。

Dockerfile

FROM php:8.1-apache

RUN apt-get update \
  && apt-get install -y libzip-dev \
  && docker-php-ext-install zip
© www.soinside.com 2019 - 2024. All rights reserved.