composer配置问题
Composer 是 PHP5以上 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。
安装好Composer时通过composer install,发现没有正常安装,而是提示:
1 2 | [Composer\Exception\NoSslException] The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl extension, you can disable this error , at your own risk, by setting the 'disable-tls' option to true . |
对于这个问题,我尝试使用下面的命令解决:
1 2 3 4 | composer global require "fxp/composer-asset-plugin:~1.3" 全局前端资源 composer config -g repo.packagist composer https: //packagist.laravel-china.org 设置全局为 国内源 composer config -g -- disable-tls true 关闭ssl php7 /usr/local/bin/composer config -g -- disable-tls true |
然而出现了另外的问题:
1 2 | [Composer\Downloader\TransportException] Your configuration does not allow connections to http: //packagist.org/packages.json. See https://getcomposer.org/doc/06-config.md#secure-http for details. |
所以需要再次进行设置,禁用SSL
1 2 | composer config secure-http false composer config -g secure-http false |
之后,一部分可以正常安装了,还有一部分提示超过300stimeout,所以对时间进行设置:
增加COMPOSER_PROCESS_TIMEOUT,通过命令composer config --list看到默认是300s,然后通过命令composer config -g process-timeout 600增加COMPOSER_PROCESS_TIMEOUT至600s。
至此,Composer能够正常运行。
也就是说你可以通过启用openssl扩展或者把disable-tls这个配置项设置成true来解决这个问题;
一、首先启用openssl这个扩展,找到你的php.ini,
找到extension=php_openssl.dll这配置项,把前面的分号去掉,保存退出,重启php;
看看你的phpinfo() openssl 是否是enable开启状态;
使用composer命令试试,如果不行使用第二种方法;
二、将“disable-tls”选项设置为true
命令:composer config -g -- disable-tls true
命令如果不好用直接去改配置文件,把这项改成true
使用composer命令试试,一般这个时候是ok的了;
三、巨坑
我自己的服务器还是用不了,当我使用php -m查看我的拓展的时候,发现我的包里这个拓展竟然丢失了。。。没有这个拓展我phpinfo里openssl竟然是开启状态。。。
解决方案:装上这个拓展或者重装php
到这composer命令可以正常使用了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2020-08-11 Linux中安装Erlang
2020-08-11 基于 CentOS 搭建 Python 的 Django 环境
2020-08-11 redis单机安装
2018-08-11 xen list_domains stat 解析