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字段,比如centos、fedora、alpine就对应不同的包管理器。
二、针对不同系统安装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
- 若后续换回Debian/Ubuntu系:
- 重新编译PHP时,在配置参数里加上
--enable-zip - 编译完成后重启服务
三、验证安装是否成功
执行命令:
php -m | grep zip
如果输出zip,说明扩展已经成功安装,此时再尝试导出users表应该就不会报错了。
内容的提问来源于stack exchange,提问作者carodeweze




