PHP 8.0.12 Zip模块未加载 无法通过Composer安装PHPSpreadsheet
问题解决方案
你的核心问题是PHP 8.0的zip扩展实际未正确安装,导致Composer依赖校验失败,可按以下步骤依次排查修复:
- 第一步:先回滚手动修改的php.ini配置
删除你之前在php.ini中添加的extension=zip配置行,避免PHP启动时加载不存在的扩展文件报错。 - 第二步:修正安装命令重新安装php-zip
你之前执行的yum -y php-zip命令缺少install参数,实际未触发安装流程,执行以下命令重新安装匹配PHP8.0版本的zip扩展:
安装完成后执行以下命令验证扩展文件是否存在:sudo yum install -y --enablerepo=remi-php80 php-zip
正常会输出ls /usr/lib64/php/modules/ | grep zip.sozip.so,此时扩展配置文件会自动生成在/etc/php.d/目录下,不需要手动添加加载配置。 - 第三步:验证扩展是否加载成功
重启PHP-FPM服务(如果使用FPM模式的话):
再执行命令查看已加载模块:sudo systemctl restart php-fpm
输出php -m | grep zipzip代表扩展已正常加载,此时再执行composer install即可正常安装PHPSpreadsheet。
其他补充说明
- 你执行
composer install --with-all-dependencies报错的原因是当前Composer版本为1.x版本,--with-all-dependencies是Composer 2.0版本新增的参数,如需使用可先执行composer self-update升级Composer到2.x版本。 - 若临时需要跳过平台校验完成安装,可在composer命令后添加
--ignore-platform-req=ext-zip参数,该方案仅为临时应急,不建议在生产环境长期使用。
内容的提问来源于stack exchange,提问作者Zach Burnett
相关产品推荐
相关产品推荐

