启动Symfony项目时出现Composer Phar损坏报错 重装Composer未解决
报错详情
PHP Fatal error: Uncaught PharException: internal corruption of phar "C:\Webtech\composer.phar" (__HALT_COMPILER(); not found) in C:\Webtech\composer.phar:28 Stack trace: #0 C:\Webtech\composer.phar(28): Phar::mapPhar('composer.phar') #1 {main} thrown in C:\Webtech\composer.phar on line 28 Fatal error: Uncaught PharException: internal corruption of phar "C:\Webtech\composer.phar" (__HALT_COMPILER(); not found) in C:\Webtech\composer.phar:28 Stack trace: #0 C:\Webtech\composer.phar(28): Phar::mapPhar('composer.phar') #1 {main} thrown in C:\Webtech\composer.phar on line 28
问题根因
该报错指向composer.phar Phar归档文件本身完整性被破坏,Phar格式必需的__HALT_COMPILER()标记缺失,不属于Composer业务逻辑故障。此前重装未生效,通常是下载的安装包本身不完整、或是文件写入本地后被安全防护工具篡改导致。
修复步骤
- 彻底删除
C:\Webtech目录下现存的composer.phar文件,同时检查系统环境变量Path中指向的其他Composer安装路径,清理所有损坏的phar文件残留 - 重新获取完整的composer.phar安装包:下载时不要使用带断点续传功能的下载工具,避免文件被截断;也可通过PHP命令行直接执行官方安装脚本生成完整phar文件
- 打开php.ini配置文件,确认phar扩展已开启:找到
extension=phar配置项,删除行首的注释分号;后保存,重启命令行终端生效 - 将
composer.phar文件加入本地杀毒软件、安全防护工具的白名单,避免文件被误修改或隔离 - 验证修复结果:在
C:\Webtech目录下执行命令php composer.phar -V,正常输出版本号即说明修复完成,可重新启动Symfony项目
内容的提问来源于stack exchange,提问作者QuenToki
相关产品推荐
相关产品推荐

