MacOS安装php-zip提示zip模块已加载报错如何解决
PHP zip 扩展重复加载&未生效问题修复方案
- 第一步:排查所有生效的PHP配置文件
执行命令php --ini,输出结果会包含主php.ini路径,以及额外扫描的ini配置目录(通常是conf.d目录)。逐个检查这些配置文件,搜索所有包含extension=zip.so的加载语句:绝大多数重复加载问题都是因为pecl安装时同时在主php.ini末尾和conf.d目录下的独立
zip.ini文件中都添加了扩展加载配置,两处加载触发冲突。 - 第二步:清理重复的配置项
仅保留一处extension=zip.so配置即可,推荐保留conf.d目录下的独立扩展配置,删除主php.ini末尾pecl自动添加的那行加载语句;如果习惯把所有配置都放在主php.ini中,也可以删除conf.d目录下的zip.ini文件。 - 第三步:验证cli端配置生效
执行命令php -m | grep zip,如果仅输出zip且无"Module 'zip' is already loaded"警告,说明重复加载问题已经修复。再执行php -i | grep "Zip support",确认输出为Zip support => enabled。 - 第四步:同步修复web端(apache)配置
新建phpinfo测试文件,内容为<?php phpinfo(); ?>,通过浏览器访问查看apache加载的php.ini路径,确认和你修改的配置文件路径一致,避免cli和web端加载不同配置的问题。
对应不同系统执行apache重启命令:- Debian/Ubuntu系列:
sudo systemctl restart apache2 - CentOS/RHEL系列:
sudo systemctl restart httpd
- Debian/Ubuntu系列:
- 第五步:验证业务功能
重新运行你要安装的PHP脚本,确认不再提示zip扩展状态为Off的报错。
内容的提问来源于stack exchange,提问作者DolDurma
相关产品推荐
相关产品推荐

