安装Composer时exit code 1报错及ssl路径读取权限被拒绝如何解决
报错诱因
- 直接原因是PHP运行进程没有获取到
D:/software/PHP/php-7.1.1/extras/ssl路径的读取权限,Composer安装脚本需要读取该路径下的SSL证书完成通信校验,读取失败触发脚本异常终止,最终返回退出码1。 - 常见触发场景还包括:php.ini中
openssl.cafile配置项误填为目录路径而非实际的证书文件路径、PHP的open_basedir限制了可读取的目录范围、当前Windows账户未给PHP进程分配对应目录的读取权限、安全软件主动拦截了PHP的文件读取请求。
解决方法
- 修正SSL证书配置:打开你正在使用的php.ini配置文件,搜索
openssl.cafile参数,确认其填写的是完整的证书文件绝对路径,而非目录路径,正确格式示例:openssl.cafile = "D:/software/PHP/php-7.1.1/extras/ssl/cacert.pem"。如果本地没有证书文件,可以将官方公开的根证书内容复制保存为cacert.pem放到对应路径。 - 调整目录权限:右键点击
D:/software/PHP/php-7.1.1/extras/ssl目录,选择「属性」→「安全」选项卡,给当前运行PHP的用户(或直接给Everyone用户)添加「读取」、「列出文件夹内容」权限,保存配置后重新运行安装脚本。 - 解除路径读取限制:如果php.ini中开启了
open_basedir配置,将D:/software/PHP/php-7.1.1/extras/ssl路径添加到允许读取的目录列表中,多个路径之间用分号分隔即可。 - 临时关闭拦截类软件:安装前暂时退出系统杀毒软件、防火墙,避免相关软件拦截PHP对SSL目录的读取请求,安装完成后再恢复软件运行。
- 手动安装替代方案:如果在线安装脚本持续报错,可以直接下载Composer的phar包到本地,将
composer.phar文件放到PHP根目录下,同目录新建composer.bat文件,写入内容@php "%~dp0composer.phar" %*,保存后即可全局使用composer命令。
内容的提问来源于stack exchange,提问作者hewei xie
相关产品推荐
相关产品推荐

