Composer提示The openssl extension is required for SSL/TLS protection but is not available解决方法

发布于 2020-05-04  2.73k 次阅读


本文于 2020年5月4日 6:07 更新,注意查看最新内容

前言

公司的ERP系统(企业资源系统)是用Laravel+Laravel-Admin写的,之前没有接触过Laravel,所以最近在学,学习TP的计划先搁置一下。

基本稍微成熟一点的框架现在都通过Composer来安装相关依赖,Laravel也不例外,在通过Composer安装Laravel时遇到了这个提示,这里记录一下解决方案。

翻译

The openssl extension is required for SSL/TLS protection but is not available
谷歌翻译:openssl扩展是SSL/TLS保护所必需的,但不可用

这提示想说的就是必须要开启openssl扩展,但我们没开,事实上我开了

如果之前没有开启(phpstudy默认好像不开),可以先去度娘怎么开启。

解决

网上的解决方案有两种:

关闭Composer的TLS(不安全

composer config -g -- disable-tls true

PS:如果设置为true,则将使用HTTP尝试所有HTTPS URL,而不执行网络级加密,这是一个安全风险,不推荐。

同时开启php.ini中的extension=openssl(去掉前面的 号就代表开启

查看cli的php.ini文件位置,修改此目录里php.ini的上述配置(推荐

操作命令:通过php --ini查看cli的php.ini文件位置

原因:我用的是集成环境phpstudy,习惯了直接通过软件入口来打开php.ini文件,而php cli和fpm使用的不是一个php.ini文件,所以为什么我修改文件不起作用。

参考

《The openssl extension is required for SSL/TLS protection but is not available》

《关于composer报错The openssl extension is required for SSL/TLS protection but is not available问题》


这短短的一生,我们最终都会失去。