You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 16.04已安装PHP zip扩展仍无效,求技术解决方案

解决PrestaShop提示PHP zip扩展未安装的问题

我之前在Ubuntu 16.04部署PrestaShop时也遇到过一模一样的问题——明明已经装了zip扩展、重启了Apache,但系统还是固执地提示未安装。给你几个排查和解决的步骤,应该能搞定:

  • 先确认Apache使用的PHP版本和CLI是否一致
    很多时候CLI的PHP版本和Apache加载的版本不一样,你用php -v看到的是7.2,但Apache可能还在用Ubuntu 16.04默认的PHP7.0。
    可以在网站根目录创建一个phpinfo.php文件,内容如下:

    <?php
    phpinfo();
    ?>
    

    然后通过浏览器访问这个文件,查看页面顶部的PHP版本,再搜索"zip"看扩展是否已经加载。如果版本不是7.2,那问题就出在这了。

  • 切换Apache到PHP7.2模块
    如果Apache用的是旧版本PHP,执行以下命令切换:

    sudo a2dismod php7.0  # 禁用旧版本,根据实际检测到的版本号调整
    sudo a2enmod php7.2
    sudo systemctl restart apache2
    

    之后再刷新phpinfo页面,确认版本和zip扩展状态。

  • 检查Apache对应的php.ini配置
    注意CLI的php.ini和Apache的是分开的,你之前修改的可能是CLI的配置。Apache的php.ini路径一般是/etc/php/7.2/apache2/php.ini,打开这个文件搜索extension=zip.so,确保前面没有注释符号;。如果被注释了,去掉;然后保存,再重启Apache:

    sudo systemctl restart apache2
    
  • 重新安装并注册扩展
    有时候扩展安装可能有残留,彻底重装试试:

    sudo apt-get purge php-zip php7.2-zip
    sudo apt-get install php-zip php7.2-zip
    sudo systemctl restart apache2
    
  • 检查扩展文件权限
    极端情况下可能是扩展文件权限不足,导致Apache无法加载。从phpinfo里找到extension_dir的路径(比如/usr/lib/php/20170718/),然后检查zip.so的权限:

    ls -l /usr/lib/php/20170718/zip.so
    

    如果权限不是-rw-r--r--,执行以下命令修正:

    sudo chmod 644 /usr/lib/php/20170718/zip.so
    sudo systemctl restart apache2
    

按照这些步骤一步步排查,应该能解决PrestaShop的zip扩展检测问题。

内容的提问来源于stack exchange,提问作者user9115388

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:06:32