Ubuntu20.04安装php-zip并重启Apache后仍报Class 'ZipArchive' not found
解决Ubuntu 20.04下「Class 'ZipArchive' not found」错误
以下是逐步排查和解决步骤:
确认对应PHP版本的php-zip已安装
Ubuntu 20.04可能同时存在多个PHP版本,通用的php-zip包可能和Apache使用的PHP版本不匹配。先查Apache加载的PHP版本:apache2ctl -t -D DUMP_MODULES | grep php比如输出是
php7.4_module,就安装对应版本的zip组件:sudo apt install php7.4-zip验证ZipArchive模块是否加载
新建info.php文件,内容如下:<?php phpinfo(); ?>访问该文件,搜索「ZipArchive」,确认模块是否存在。如果命令行
php -m | grep zip能查到但网页端没有,说明Apache的PHP配置未启用该模块:
编辑对应版本的php.ini文件(比如/etc/php/7.4/apache2/php.ini),找到;extension=zip这行,去掉前面的分号,保存后重启Apache。重启相关服务
若使用PHP-FPM,需同时重启FPM服务和Apache:sudo systemctl restart php7.4-fpm sudo systemctl restart apache2检查模块文件权限
找到php-zip的模块文件路径(可通过phpinfo里的「extension_dir」查看),比如/usr/lib/php/20190902/zip.so,确保权限正确:sudo chmod 644 /usr/lib/php/20190902/zip.so sudo chown root:root /usr/lib/php/20190902/zip.so重装php-zip组件
若以上步骤无效,尝试卸载后重装:sudo apt remove --purge php-zip sudo apt install php7.4-zip sudo systemctl restart apache2
内容的提问来源于stack exchange,提问作者Vic
相关产品推荐
相关产品推荐

