Debian 8(64位)无法安装Laravel:ext-zip已安装仍报错
解决Laravel安装提示ext-zip缺失但已安装php7.2-zip的问题
我之前也碰到过一模一样的情况——明明已经装了php7.2-zip,但Laravel安装器还是固执地报扩展缺失,大概率是PHP版本不匹配或者扩展未正确启用导致的,给你几个排查和解决的步骤:
1. 确认当前PHP CLI使用的版本
系统里可能同时装了多个PHP版本,Laravel安装器依赖的是CLI版本的PHP,先检查当前默认的PHP版本是不是7.2:
php -v
如果输出的不是7.2.x,那你装的php7.2-zip对应是另一个PHP版本的扩展,自然不会生效。
2. 切换默认PHP版本到7.2
如果版本不对,用Debian的alternatives工具切换:
sudo update-alternatives --config php
执行后会列出所有可用的PHP版本,输入对应php7.2的序号回车即可完成切换。
3. 检查zip扩展是否真的启用
切换版本后,再确认zip扩展是否已经加载:
# 方法1:查看已加载的扩展列表 php -m | grep zip # 方法2:查看PHP配置详情里的zip信息 php -i | grep zip
如果输出里没有zip相关内容,说明扩展没启用,需要手动开启。
4. 启用zip扩展
找到php7.2的CLI配置文件,通常路径是/etc/php/7.2/cli/php.ini,编辑这个文件:
sudo nano /etc/php/7.2/cli/php.ini
找到类似下面的行,去掉前面的分号;:
;extension=zip
改成:
extension=zip
保存退出后,再执行php -m | grep zip确认是否生效。
5. 验证Composer的PHP环境
有时候Composer可能用的是不同的PHP版本,你可以用这个命令查看Composer检测到的平台环境:
composer show --platform
确保里面的PHP版本是7.2,并且有ext-zip的条目。
做完这些步骤后,再重新运行Laravel安装命令应该就不会再报ext-zip缺失的错误了。
内容的提问来源于stack exchange,提问作者Don Laknath
相关产品推荐
相关产品推荐

