You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Laravel用maatwebsite/excel遇ZipArchive未找到,求替代方案或apt修复

解决Laravel中maatwebsite/excel的「ZipArchive not found」错误及apt-get不存在问题

别担心,咱们一步步拆解问题来解决:

一、先搞清楚为什么apt-get命令不存在

apt-get是Debian、Ubuntu这类Debian系Linux发行版的专属包管理命令,如果你的系统是CentOS、Fedora、Alpine这类非Debian系的,自然会提示找不到。先确认自己的系统发行版:

  • 执行命令:cat /etc/os-release
  • 查看输出里的ID字段,比如centosfedoraalpine就对应不同的包管理器。

二、针对不同系统安装ZipArchive扩展

根据你的系统类型,用对应的命令安装PHP7.0的ZipArchive扩展(毕竟你之前尝试的是PHP7.0版本的包):

1. 如果你用的是CentOS/RHEL 7及以下(yum包管理器)

执行以下命令:

sudo yum install php70-zip

注意:如果你的PHP是通过第三方源(比如remi)安装的,包名可能是php70-php-zip,如果上面的命令找不到包,试试这个。

安装完成后,重启你的Web服务或PHP-FPM:

# Apache服务器
sudo systemctl restart httpd
# Nginx搭配PHP-FPM的话
sudo systemctl restart php-fpm

2. 如果你用的是CentOS 8+/Fedora(dnf包管理器)

执行:

sudo dnf install php70-zip

同样,安装后重启服务:

sudo systemctl restart httpd
# 或者
sudo systemctl restart php-fpm

3. 如果你用的是Alpine Linux(apk包管理器)

执行:

sudo apk add php7-zip

重启服务:

sudo rc-service php-fpm restart

4. 如果你是源码编译的PHP(小众情况)

如果你的PHP是自己手动编译的,需要重新编译PHP并启用Zip扩展:

  • 先安装依赖库:
    • 若后续换回Debian/Ubuntu系:sudo apt-get install zlib1g-dev libzip-dev
    • CentOS系:sudo yum install zlib-devel libzip-devel
  • 重新编译PHP时,在配置参数里加上--enable-zip
  • 编译完成后重启服务

三、验证安装是否成功

执行命令:

php -m | grep zip

如果输出zip,说明扩展已经成功安装,此时再尝试导出users表应该就不会报错了。

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

火山引擎 最新活动