我正在尝试在 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
这就是我在我的机器(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,请查看上面cweiske的answer
但如果您使用的是 Debian 衍生操作系统,此解决方案应该可以帮助您安装 php zip 扩展。
您可能有多个
php.ini
文件,一个用于 CLI,一个用于 apache。运行 php --ini
查看 CLI ini 位置。
只需使用
sudo yum install php-zip
适用于 PHP 7.3 / Ubuntu
sudo apt install php7.3-zip
适用于 PHP 7.4
sudo apt install php7.4-zip
适用于 ubuntu 16.04 上的 php 7.3
sudo apt-get install php7.3-zip
在 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
如果你使用php5.6那么执行这个:
sudo apt-get install php5.6-zip
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
我尝试使用以下方法更改存储库列表:
http://security.ubuntu.com/ubuntu bionic-security主宇宙http://archive.ubuntu.com/ubuntubionic主受限宇宙
但它们似乎都不起作用,但我终于找到了一个可以运行以下命令的存储库
添加 apt-repository ppa:ondrej/php
然后使用 apt-get 正常更新和安装软件包
如您所见,它终于安装好了。
我试图在 CentOS 7 上安装 php 7.1。就我而言,yum 包
php-zip
在 remi 存储库中不可用,但我可以使用不同的名称安装它
yum install php-pecl-zip
所以如果您无法通过查询找到它
php-zip
,请尝试搜索php-pecl-zip
。
对于那些需要在正在构建的 Docker 镜像中安装
zip
扩展的人。
Dockerfile
:
FROM php:8.1-apache
RUN apt-get update \
&& apt-get install -y libzip-dev \
&& docker-php-ext-install zip