【问题标题】:Installing PHP Zip Extension安装 PHP Zip 扩展
【发布时间】:2013-09-17 10:45:05
【问题描述】:

我正在尝试安装 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


    【解决方案1】:

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

    php 7:

    sudo apt-get install php7.0-zip
    

    php 5:

    sudo apt-get install php5-zip
    

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

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

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

    【讨论】:

    • 确保之后重启 Apache:/etc/init.d/apache2 restart
    • 您似乎建议使用包管理器来解决或防止任何问题。 CentOS 似乎使用yum 作为包管理器。
    • 对于 php7.1 sudo apt install php7.1-zip
    • 有人能安装php7.2 的zip 扩展吗?它一直在说 E: 无法找到包 php7.2-zip E: 找不到任何包 regex 'php7.2-zip' 我尝试了很多变体,但都没有用,我有 PHP 版本 7.2.17-1+ubuntu14.04.1+deb.sury.org+3
    【解决方案2】:

    您可能有多个 php.ini 文件,一个用于 CLI,一个用于 apache。运行 php --ini 以查看 CLI ini 的位置。

    【讨论】:

    • 感谢您的回复。这将返回以下内容(对不起,我不确定如何在评论中换行):加载的配置文件:(无)扫描其他 .ini 文件:(无)解析的其他 .ini 文件:(无)。另外, find / -name "php.ini" 告诉我这是盒子上唯一的 php.ini 文件
    • 它没有加载任何配置文件。那是你的问题。我的 PHP 还显示了一个带有 php --ini 的“配置文件 (php.ini) 路径”。使用$ strace -eopen php --ini 找出您的 php 查找 .ini 文件的位置。
    • 很抱歉让这一切在没有解释的情况下死去。 php --ini 说配置文件路径是/usr/bin ...我只需要把它移到那里吗?此外,如果配置文件中没有任何内容生效,PHP 是否会附带一组它使用的默认值?
    • 是的,有默认值。它们记录在 php 手册中。尝试将 php.ini 移动到您找到的路径。
    【解决方案3】:

    适用于 PHP 7.3 / Ubuntu

    sudo apt install php7.3-zip
    

    适用于 PHP 7.4

    sudo apt install php7.4-zip
    

    【讨论】:

      【解决方案4】:

      只需使用sudo yum install php-zip

      【讨论】:

      • 问题指定这是针对 CentOS,而不是 Ubuntu。 CentOS 使用 yum 而不是 apt-get
      【解决方案5】:

      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。

      【讨论】:

      • 错误:`/tmp/pear/temp/zip/configure --with-php-config=/usr/local/bin/php-config' 失败
      【解决方案6】:

      对于 ubuntu 16.04 上的 php 7.3

      sudo apt-get install php7.3-zip

      【讨论】:

        【解决方案7】:

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

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

          yum 搜索压缩包

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

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

          yum 安装 ea-php72-php-zip

        这绝对可以解决您的问题。

        干杯!!

        【讨论】:

          【解决方案8】:

          在 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
          

          【讨论】:

          • 无需“pecl install”,ZIP 扩展在“remi-php74”存储库中可用!
          • 直到我出现它才出现在我的已安装模块列表中。但在我的无数次尝试中,我可能还有其他问题。感谢您的来信。
          【解决方案9】:

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

          sudo apt-get install php5.6-zip

          【讨论】:

          • >CentOS Apache 2.2.3 PHP 5.2.16
          【解决方案10】:

          PHP5 版本在 Ubuntu 18.04+ 版本中不支持,因此您必须从源文件手动配置。如果您使用的是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

          【讨论】:

            【解决方案11】:

            我尝试使用以下命令更改存储库列表:

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

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

            add-apt-repository ppa:ondrej/php

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

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

            【讨论】:

              猜你喜欢
              • 2020-10-01
              • 1970-01-01
              • 1970-01-01
              • 2010-12-24
              • 1970-01-01
              • 1970-01-01
              • 2019-08-25
              • 2020-03-17
              • 1970-01-01
              相关资源
              最近更新 更多