OpenSSL的扩展需要SSL / TLS保护

问题描述 投票:45回答:5
composer create-project flarum/flarum . --stability=beta

我尝试运行此命令,但它给了我这个错误。

  [RuntimeException]                                                           
  The openssl extension is required for SSL/TLS protection but is not availab  
  le. 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.  

我尝试添加“延长= php_openssl.dll”到“的php.ini”,但它仍然得到这个错误

php composer-php
5个回答
105
投票

发生在我身上的同样的错误。我通过关闭TLS的作曲家固定它,它不是安全的,但我认为我的开发机器上的风险。

尝试这个:

composer config -g -- disable-tls true

并重新运行作曲。它的工作原理给我!

但它是不安全的,不推荐您的服务器。官方网站上说:

如果设置为true所有HTTPS网址将被替代HTTP受审,并没有进行网络级加密。启用,这是一个安全风险,不建议使用。更好的方法是使在php.ini中php_openssl扩展。

如果你不想让你的机器/服务器不安全层,然后设置你的php,使OpenSSL和它也适用。确保PHP扩展Openssl的已安装并启用它在php.ini文件。


要启用OpenSSL的,添加或发现并取消对您的php.ini文件这一行:

Linux的/ OSX:

extension=php_openssl.so

视窗:

extension=php_openssl.dll

如果需要重新加载你的PHP-FPM / Web服务器!


13
投票

根据作曲家reference有两个相关的选项:disable-tlssecure-http

nano ~/.composer/config.json ...

{
    "config": {
        "disable-tls": true,
        "secure-http": false
    }
}

那么抱怨了:

You are running Composer with SSL/TLS protection disabled.
Warning: Accessing getcomposer.org over http which is an insecure protocol.

但它执行composer selfupdate(或其他)。

而不能简单地“能够在php.ini SSL”在Linux上;需要PHP与OpenSSL的配置为shared库编译 - 为了能够从PHP CLI SAPI访问它。


9
投票

要启用OpenSSL的进入php.ini文件并启用此行:

extension=php_openssl.dll

如果你不想让你的OpenSSL可以设定作曲家不配合这个命令使用OpenSSL的:

composer config -g -- disable-tls true

然而,这是一个安全问题。


7
投票

我有完全相同的问题,但没有找到一个解决方案,因此思考和寻找一段时间后,我想,我的php.ini显然没有在我的PHP扩展正确的目录看,所以我去了下:

“目录,其中加载扩展(模块)驻留”。 ,发现如下:

; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
;extension_dir = "ext"

而简单地删除; “下extension_dir =‘内线’的盈方,注意这是仅适用于Windows,删除分号在第一extension_dir中的前面,如果你正在运行不同的操作系统。

我不知道为什么我的是不是已经无人盯防,但它只是要寻找如果您有问题。


2
投票

发生是由于OpenSSL和推广总监所以取消低于php.ini文件扩展名此问题

extension=php_openssl.dll extension_dir = "ext"

它在我的机器上工作。

© www.soinside.com 2019 - 2024. All rights reserved.