ssl/TLS 保护需要 openssl 扩展

2022-08-30 07:26:34
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.  

我试图将“extension=php_openssl.dll”添加到“php.ini”,但它仍然得到这个错误


答案 1

同样的错误发生在我身上。我通过关闭 Composer 的 TLS 来修复它,它不安全,但我在开发计算机上承担了风险。

试试这个:

composer config -g -- disable-tls true

并重新运行您的作曲家。它对我有用!

但它是不安全的,不建议用于您的服务器。官方网站说:

如果设置为 true,则将使用 HTTP 尝试所有 HTTPS URL,并且不执行网络级加密。启用此选项存在安全风险,不建议这样做。更好的方法是在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服务器!

更新:

从 PHP 7.4 开始,该扩展名已命名(以 Windows 为名)。extension=openssl


答案 2

根据作曲家的参考,有两个相关的选项:和 ,可以使用。只需使用以下命令编辑配置:disable-tlssecure-httpnano ~/.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

人们不能简单地在Linux上“在php.ini中启用SSL”PHP需要使用配置为库的openSSL进行编译 - 以便能够从PHP CLI SAPI访问它。shared


推荐