" https://packagist.org/packages.json"无法下载文件:SSL操作失败

时间:2016-10-24 08:16:45

标签: composer-php

  String uriString = "ms-sfb://call?id=000000";
            Uri uri = Uri.parse(uriString);
            Intent callIntent = new Intent(Intent.ACTION_VIEW, uri);
  

sudo composer update

When I run the following command  
  

" https://packagist.org/packages.json"文件不能   已下载:SSL操作失败,代码为1. OpenSSL错误   消息:
  错误:140770FC:SSL例程:SSL23_GET_SERVER_HELLO:未知协议
  无法启用加密
  无法打开流:操作失败

5 个答案:

答案 0 :(得分:4)

在使用Homebrew升级到PHP 7.0.12之后,我在OSX上遇到了这个问题。

要解决我使用WGET下载cacert.pem的问题。

wget http://curl.haxx.se/ca/cacert.pem

我将该文件保存到我的主目录/Users/alex/cacert.pem。然后将我的PHP.ini文件配置为指向cacert位置。

要做到这一点;首先找到您的php.ini并运行应生成的命令php --ini

$ php --ini
Configuration File (php.ini) Path: /usr/local/etc/php/7.0
Loaded Configuration File:         /usr/local/etc/php/7.0/php.ini
Scan for additional .ini files in: /usr/local/etc/php/7.0/conf.d

要编辑的INI文件是加载配置文件位置的文件。在您选择的编辑器(Vim等)中打开该文件,然后找到设置openssl.cafile。这可能已注释掉,因此取消注释并插入cacert.pem的位置。

然后,您应该可以投放compose installcomposer updatecomposer self-update

答案 1 :(得分:0)

  

某些Composer命令,包括exec,install和update允许   要在系统上执行的第三方代码。这是来自其插件"   和"脚本"特征。插件和脚本可以完全访问   运行Composer的用户帐户。因此,它是强烈的   建议避免以超级用户/ root身份运行Composer。

     

您可以在程序包安装期间禁用插件和脚本   使用以下语法进行更新,以便仅使用Composer的代码,而不是   第三方代码,将执行:

composer install --no-plugins --no-scripts
composer update --no-plugins --no-scripts

exec命令将始终以运行composer的用户身份运行第三方代码。

  

在某些情况下,例如CI系统或您要安装的系统   不受信任的依赖关系,最安全的方法是运行上面的   命令。

so always run composer without sudo

答案 2 :(得分:0)

我已尝试过这些解决方案,但它们都不适合我。我知道这可能听起来像一个虚拟的解决方法,但这是我所做的,万一有人发现它有用:

1)我暂时将手机设为wifi热点。 2)将我的笔记本电脑连接到这个wifi。我这里有我的Vagrant VM,Laravel / Composer正在运行。 3)我在我的VM中禁用了所有代理环境设置(例如http_proxy,https_proxy等)。 4)然后,我成功创建了我的项目,使用" composer global require" laravel / installer"和#34;作曲家创作 - 项目laravel / laravel"命令。 5)断开wifi热点,开始正常工作(以太网)。

HTH。 卡洛斯。

答案 3 :(得分:0)

You need to reboot your computer.

I had it on virtual environment Vagrant Laravel Homestead.

To fix id I did

vagrant halt
...
vagrant up

答案 4 :(得分:0)

我在Virtualbox-Ubuntu / Docker / PHP7上遇到了这个问题,并通过重新启动Ubuntu进行了修复。